Zend Framework1 Zend_Mail+PHP5.6ではSSLのチェックが無効化できない

既にサポートの終わったZendFramework1ですが、今使っている方は注意が必要かもしれません。

ZendServer8.5 for IBM i(PHP5.6)を入れて・・・ – ushidayの日記

PHP5.6から、CA証明書のチェックがデフォルトで必須の設定になったようなのですが、
これによって何も指定を行っていない場合、PHPからSMTPS経由でメールを送る場合は接続先SMTPサーバーのSSL証明書が”正しい”物でないと接続に失敗します。

なお、この設定は変更することが可能ではあるのですが、

SSL コンテキストオプション – php.net
調べた限りでは、使用するメールライブラリがSSL コンテキストオプションの”verify_peer”の指定に対応していないと設定変更が難しいようなのです。
Zend Framework1のZend_Mailではこのオプションの指定をサポートしていないため、PHP5.6上で動作させると、強制的にSSL証明書のチェックが有効となります。

ちなみに、Zend Framework1のZend_MailのSSLコンテキスト対応化は行われないことはZend Framework1のGitHubフォーラムで明言されています。

Zend_Mail SMTP SSL Problem with PHP 5.6 – GitHub

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG