この記事は更新から2年以上経過しています。情報が古い可能性がありますのでご注意下さい。
SalesforceのWeb-to-Lead(リード)を利用する時、Salesforce内で生成できるHTMLのフォームを利用するのが最も手軽なのですが、私の場合はWordPressのContact Form 7でのメール送信時に、メール送信イベントの処理にフックする形でサーバーサイドからcURLでPOSTしたいと考えました。
調べると、丁度良い文献を発見
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9V29yZHByZXNzJTIwJTJCJTIwQ29udGFjdCUyMEZvcm0lMjA3JTIwJUUzJTgxJUE3JTIwU2FsZXNmb3JjZSUyMCVFMyU4MSVBRSUyMFdlYi10by0lRTMlODMlQUElRTMlODMlQkMlRTMlODMlODklMjAlRTMlODIlOTIlRTklODAlODElRTQlQkYlQTElRTMlODElOTklRTMlODIlOEImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTc1Nzc1YzI3OGE2ZThlOTMzYTUxZDNlNmZjYTM0OWQw&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBlbWVnYW5lJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0zZmFkMzM2NzY5OWEwMmY1MTY2MTIzZmU5NWE5YjRkYw&blend-x=142&blend-y=486&blend-mode=normal&s=974cd6c723589268fc9ea841fc6ac00e)
Wordpress + Contact Form 7 で Salesforce の Web-to-リード を送信する - Qiita
Salesforce の Web-to-リードを使用すると、問い合わせフォームから見込み顧客の情報を直接Salesforceに取り込むことができます。しかし、Salesforceで生成されたHTM…
しかし、curl_exec関数の戻り値はfalseであり、Salesforce側でもPOSTされたリードのデータは有りませんでした。
cURLのエラー情報の取得を試みてみるも、それ自体もfalseとしか得られず、試行錯誤した結果、原因解消としては下記のSSL検証を無効にする記述が必要ということが分かりました。
$ch = curl_init();
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
“CURLOPT_SSL_VERIFYHOST も合わせて設定せよ”という文献もありましたが、これについては特に記述しなくても問題なかったです。(そもそも検証有効時にしか影響無さそう)