普段はWordPressに関する技術情報を中心に発信していますが、過去に私がLaravel開発で直面し、解決した問題の記録として、この記事を残しています。
こんにちは。大宮でWEB開発をしています、TEDASKのToshi Seitoです。
今回はLaravel5.7で開発中で行ったメール送信に関するエラーです。
stream_socket_enable_crypto(): Peer certificate CN=*.XXX' did not match expected CN=XXXXX'
このエラーがでたら、SSLの証明をチェックしてエラーが出ているという事なのですが、
開発環境でSSLを導入していないことがほとんどではないかと思います。
これを厳密にチェックしない方法に変更するためにコードを追記します。
app/config/mail.php
/*
|--------------------------------------------------------------------------
| Log Channel
|--------------------------------------------------------------------------
|
| If you are using the "log" driver, you may specify the logging channel
| if you prefer to keep mail messages separate from other log entries
| for simpler reading. Otherwise, the default channel will be used.
|
*/
'log_channel' => env('MAIL_LOG_CHANNEL'),
+ 'stream' => [
+ 'ssl' => [
+ 'allow_self_signed' => true,
+ 'verify_peer' => false,
+ 'verify_peer_name' => false,
+ ],
+ ],
];
こうすることで、tlsでも送信が可能になり、エラーが消えるかと思います。
参考にしてみて下さい。



コメント