Laravel7 メール送信時の’stream_socket_enable_crypto(): Peer certificate CN=’エラー対策

SSL証明のチェックでエラーが発生しているので、もし、開発環境などでSSL証明のチェックをして欲しくない場合は以下の方法で解決出来る。

app/config.mail.phpの’mailers’ => ‘smtp’に以下を追記

    '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,
+            'stream' => [
+                    'ssl' => [
+                    'allow_self_signed' => true,
+                    'verify_peer' => false,
+                    'verify_peer_name' => false,
+                ],
+            ],
        ],

実際の値は、環境毎に分けた方が良いので、/env.xxxに追記する。

開発環境用の/env.dev

ALLOW_SELF_SIGNED=true
VERIFY_PEER=false
VERIFY_PEER_NAME=false

config/mail.php

            'stream' => [
                    'ssl' => [
                    'allow_self_signed' => env('ALLOW_SELF_SIGNED'),
                    'verify_peer' => env('VERIFY_PEER'),
                    'verify_peer_name' => env('VERIFY_PEER_NAME'),
                ],
            ],

返信を残す

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