こんにちは。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 authenticators
Swift_TransportException error
Connection could not be established
関連記事
お仕事ください!
僕が代表を務める 株式会社 EeeeG では Web 制作・システム開発・マーケティング相談を行っています。 なにかお困りごとがあれば、Twitter DM や Web サイトからお気軽にご相談ください。
カテゴリ「Develop」の最新記事
コメント