Ошибки Mandrill CA SSL с помощью cURL

Я пробую Мандрилла. Это выглядит мило. Я зарегистрировался с учетной записью и получил ключ API. Скачал обертку Mandrill PHP из
https://bitbucket.org/mailchimp/mandrill-api-php

В этом посте, похоже, был довольно хороший пример электронного письма о Mandrill, и я попробовал его:

Простая функция PHP для отправки электронной почты с Mandrill

Получил эту ошибку:

API call to templates/add failed: Problem with the SSL CA cert (path? access rights?)

Я следовал инструкциям этих С.О. сообщения:

ошибка при отправке электронной почты с использованием Mandrill (php)
HTTPS и SSL3_GET_SERVER_CERTIFICATE: сбой проверки сертификата, CA в порядке

Схватил файл .pem с http://curl.haxx.se/docs/caextract.html

и удостоверился, что curl API указал на этот файл внутри API Mandrill

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt ($ch, CURLOPT_CAINFO, "pathto/cacert.pem");

Файл .pem доступен для чтения. Нет сумасшедших разрешений ситуаций.

Нет помощи. То же самое дело:

API call to templates/add failed: Problem with the SSL CA cert (path? access rights?)

Погуглив вокруг, я следовал шагам CentOS 6.0 здесь:
http://kb.kerio.com/product/kerio-connect/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html

А также шаги здесь:
http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

Та же ошибка В качестве последней попытки я установил curl, чтобы полностью игнорировать ssl-step. Это, конечно, не рекомендуется, но я просто хотел чувствовать твердую почву под ногами. Я вернулся в Mandrill.php и дал этому шанс.

curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, 0);

Опять та же ошибка. Мне было интересно, если кто-то еще может пролить свет на это для меня. Я исчерпал Google. (Это дало мне recaptcha, потому что я использовал это слишком много). Спасибо за ваше время!

(Система: CentOS 6.5, PHP 5.3)

5

Решение

Странно, что у вас есть эта проблема в Linux (хотя известная проблема в Windows).

Единственное, о чем я могу подумать, это то, что вы пытаетесь загрузить .pem по умолчанию через ваш php.ini-файл, проверьте curl.cainfo и предоставить абсолютный путь к cacert.pem-файл. Это должно сделать так, чтобы вам не пришлось использовать CURLOPT_CAINFO — а может быть, даст лучший результат?

Половина не по теме; если вам не нужны все функции, предоставляемые API, вы также можете использовать SMTP-соединение (с ним всегда легче работать).

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector