こんにちは。iQeda [@iQeeeda] です。
Laravel で Mailgun を使う機会があったので、備忘録として記事にしておきます。
ググって出てくる記事だと .env の環境変数が不足しており、私の環境では動きませんでした。
今回 Mailgun に必要な環境変数まわりを解説してみようと思います。
- 開発環境
- Laradock
- PHP 7.3.25
- Laravel Framework 8.21.0
【Mailgun】値の確認
左のサイドバーから Sending > Overview を選んでください。
画面右側に「Authorized Recipients」という見出しで、メールアドレス入力できる項目があります。そこでメールアドレスの登録・二段階認証をしておいてください。
この操作を行っていないメールアドレスを宛先に送受信できません。
次に API タブで cURL を選択してください。API key の値をコピーしておいてください。
次に SMTP タブで cURL を選択してください。Username と Default password の値をコピーしておいてください。
また、画面上部に sandbox****************.mailgun.org といった値が表されています。
こちらもコピーしておいてください。
【Laravel】 .env で環境変数を定義する
下記を参考に .env に環境変数を定義してください。
MAIL_DRIVER=mailgun MAIL_HOST=smtp.mailgun.org MAIL_PORT=587 MAIL_USERNAME=[SMTP の UserName 参照] MAIL_PASSWORD=[SMTP の Default Password 参照] MAILGUN_DOMAIN=[sandbox****************.mailgun.org 参照] MAILGUN_SECRET=[API の API Key 参照] MAIL_FROM_ADDRESS=[実在するメールアドレスならなんでもよい] MAIL_ENCRYPTION=tls
個人的に MAIL_USERNAME と MAIL_PASSWORD がなにかわからず時間を費やしました。。。
値を間違えたり、環境変数が足りていない場合、下記エラーに遭遇しますよ。
Failed to authenticate on SMTP server with username "***" using 2 possible authenticatorsSwift_TransportException errorConnection could not be established
No comments yet