【Laravel】Gmailを使ってメールを送信するための設定内容

Laravelのメール送信テストで、Swift_TransportException with message・・・みたいなエラーが出た経験は誰もが一度はあるはず?

その場合はたいてい「.env」ファイルの設定が間違っているケースが多いです。

そこでこのページでは、Laravelのメール送信処理をGmailを使って行うための設定方法について解説します。

.envの設定内容

Gmailを利用して、メールを送信する場合 .envの設定は次のようになります。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=あなたのメールアドレス
MAIL_PASSWORD=2段階認証の設定時に発行されるパスワード  //注意!
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=あなたのメールアドレス
MAIL_FROM_NAME=あなたの名前・担当者名など

これで送れるようになります。

ここで注意しないといけないのは、「MAIL_PASSWORD」が2段階認証の設定時に発行されるパスワードであるということです。

もし、Gmailにログインするためのパスワードを設定している場合はエラーになります。



Gmailの2段階認証の設定方法

認証の設定はGoogleアカウントのセキュリティ画面からできます。

Google アカウントへ

Googleカウントにアクセスすると、メニュー欄に「セキュリティ」という項目があるので、こちらをクリックします。

セキュリティ画面に「Google へのログイン」という項目があるので、この中の「2段階認証プロセス」をクリックします。

もし、この項目が「オン」になっている場合は、すでに設定済みなので対応不要です。

使ってみる」をクリックします。

ログイン画面が表示されるので、ログインします。

今すぐ送信」ボタンをクリックします。

Googleからスマホにメッセージが送られてくるので、スマホ側で「はい」をクリックします。

バックアップの方法を設定します。

あなたの電話番号を入力して、「送信」をクリックしてください。

あなたの番号宛に確認コードが送られてくるので、そのコードを入力し「次へ」をクリックします。

最後に、2段階認証プロセスを有効にします。

有効にする」をクリックしてください。

以上で、2段階認証プロセスの有効化できました。

次に.envファイルに設定するパスワードを取得します。

アプリパスワードの取得

パスワードを取得するために「アプリ パスワード」をクリックします。

パスワード生成画面が開くので、「アプリを選択」では「メール」を、「デバイスを選択」では「その他」を選びます。

「その他」を選ぶと名前の入力が必要なので、適当に名前をつけて「生成」をクリックします。

これで、パスワードが取得できました。

このパスワードを.envの「MAIL_PASSWORD」に設定すると、メールが送れるようになります。

メールがうまく送信できず困っている方は試してみてください。

コメントを残す

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

CAPTCHA