2014-10-01 9 views
5

मैं मैनरिल की कोशिश कर रहा हूं। यह अच्छा लगता है। मैंने एक खाते के साथ साइन अप किया और एक एपीआई कुंजी प्राप्त की। डाउनलोड किए गए से https://bitbucket.org/mailchimp/mandrill-api-phpमंडल सीएस एसएसएल त्रुटियों के साथ कर्ल

प्रकार का बंदर पीएचपी आवरण इस पोस्ट में एक बहुत अच्छा नमस्ते दुनिया का बंदर ईमेल उदाहरण के लिए लग रहा था, इसलिए मैं इसे बाहर की कोशिश की:

Simple php function to send an email with Mandrill

रखा यह त्रुटि मिलती:

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

मैंने इन SO के निर्देशों का पालन किया पोस्ट:

error in send email using Mandrill (php) HTTPS and SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, CA is OK

http://curl.haxx.se/docs/caextract.html

से .pem फ़ाइल पकड़ा और यकीन है कि कर्ल एपीआई का बंदर एपीआई

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

.pem फ़ाइल के अंदर उस फ़ाइल की ओर इशारा कर दिया पठनीय है कोई पागल अनुमति स्थितियों।

कोई मदद नहीं। एक ही सौदा: 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/

एक ही त्रुटि

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

मैं चारों ओर Googling CentOS 6.0 यहां दिए गए चरणों का पालन किया। आखिरी कोशिश के रूप में, मैंने पूरी तरह से एसएसएल-चरण को अनदेखा करने के लिए कर्ल सेट किया। यह निश्चित रूप से सलाह नहीं दी जाती है, लेकिन मैं बस अपने पैरों के नीचे ठोस जमीन महसूस करना चाहता था। मैं वापस Mandrill.php में गया और यह एक शॉट दिया।

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

फिर से, एक ही त्रुटि। मैं सोच रहा था कि कोई और मेरे लिए इस पर कुछ प्रकाश डाल सकता है। मैंने Google को थका दिया है। (यह मुझे एक रिकैप्चा दिया क्योंकि मैं इसका बहुत उपयोग कर रहा था)। आपके समय के लिए धन्यवाद!

(सिस्टम: CentOS 6.5, पीएचपी 5,3)

उत्तर

0

अजीब है कि आप लिनक्स पर इस मुद्दे (Windows में ज्ञात समस्या है) कर रहे हैं।

एकमात्र चीज जिसे मैं सोच सकता हूं कि आप अपने php.ini-file के माध्यम से .pem को डिफ़ॉल्ट रूप से लोड करने का प्रयास करते हैं, curl.cainfo देखें और cacert.pem -file पर एक पूर्ण पथ प्रदान करें। ऐसा करना चाहिए कि आपको CURLOPT_CAINFO का उपयोग करने की आवश्यकता नहीं है - और शायद बेहतर परिणाम देता है?

आधा ऑफ-विषय; यदि आपको एपीआई आपको दी गई सभी सुविधाओं की आवश्यकता नहीं है, तो आप एक एसएमटीपी-कनेक्शन (हमेशा काम करने में आसान) का उपयोग कर सकते हैं।

संबंधित मुद्दे