Mandrill PHP无法获得本地颁发者SSL证书

前端之家收集整理的这篇文章主要介绍了Mandrill PHP无法获得本地颁发者SSL证书前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Windows Apache服务器上安装了Mandrill PHP API.当尝试使用以下代码发送电子邮件时,我收到错误

Mandrill_HttpError – 对消息/发送模板的API调用失败:SSL证书问题:无法获取本地颁发者证书

我不清楚Mandrill如何连接到我的本地发行人证书.我的Web服务器确实有一个有效的证书,可以成功显示HTTPS页面.

有任何想法吗?

$mandrill = new Mandrill('MyMandrillAPIKey');

        $message = array(
            'subject' => 'Test message','from_email' => 'MyEmailAddress','html' => '<p>this is a test message with Mandrill\'s PHP wrapper!.</p>','to' => array(array('email' => 'MyEmailAddress','name' => 'David Splat')),'merge_vars' => array(array(
                'rcpt' => 'MyEmailAddress','vars' =>
                array(
                    array(
                        'name' => 'FIRSTNAME','content' => $fName),array(
                        'name' => 'LASTNAME','content' => $lName)
            ))));

        $template_name = 'MyTemplateName';

        $template_content = array(
            array(
                'name' => 'main','content' => 'Hi *|FIRSTNAME|* *|LASTNAME|*,thanks for signing up.'),array(
                'name' => 'footer','content' => 'Copyright 2014.')

        );

        print_r($mandrill->messages->sendTemplate($template_name,$template_content,$message));

    } catch(Mandrill_Error $e) {
        // Mandrill errors are thrown as exceptions
        echo 'A mandrill error occurred: ' . get_class($e) . ' - ' . $e->getMessage();
        throw $e;
    }
您不需要关闭curl SSL选项,而是可以从 http://curl.haxx.se/docs/caextract.html下载cacert.pem文件,然后将其包含在PHP.ini文件
curl.cainfo = “/确切/位置/到/ cacert.pem”

或者只是更改Mandrill.PHP文件中的行以使用它,如下所示.

curl_setopt ($this->ch,CURLOPT_SSL_VERIFYPEER,TRUE); 
curl_setopt ($this->ch,CURLOPT_CAINFO,__DIR__ . "/cacert.pem")

link to the post http://tutewall.com/ssl-certificate-problem-unable-to-get-local-issuer-certificate/

猜你在找的PHP相关文章