Laravelでメール認証のエラーが出た時の対処法($userがどうの)

Unable to connect with STARTTLS: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:0A000086:SSL routines::certificate verify failed

こんなエラーメッセージが出たときの対処方法をBingAIに教えてもらったので共有します。

証明書の検証を無効にする

Laravel 9.Xでは、config/mail.php ファイルで verify_peer を false に設定することで、証明書の検証を無効にできます。

以下は設定例です。

'mailers' => [
'smtp' => [
 'transport' => 'smtp',
 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
 'port' => env('MAIL_PORT', 587),
 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
 'username' => env('MAIL_USERNAME'),
 'password' => env('MAIL_PASSWORD'),
 'timeout' => null,
 'local_domain' => env('MAIL_EHLO_DOMAIN'),
 'verify_peer' => false, // 追加
 ],
],

AI で生成されたコード。ご確認のうえ、慎重にご使用ください。

証明書ファイルのパスを指定する

サーバーの証明書ファイルが正しく設定されていない場合、エラーが発生することがあります。

openssl.cafile を設定して、証明書ファイルのパスを指定してみてください。

openssl.cafile=/etc/ssl/certs/ca-bundle.crt

自分の場合

設定が大変そうなので無効にする方向で対応しました。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

上部へスクロール