📨
Laravelで送信メールをテストするお手軽な2つの方法
Laravel利用時のお手軽なメールのテスト方法 2選
Laravelでアプリを開発中にLaravelからメール通知を送信する場合があるかと思います。
そんな時に、メールがユーザにどのように見えるのかをお手軽にテストするのに便利なサービスを2つ紹介します✨
テーブル オブ コンテンツ(目次)
mailhogを使うやり方
一つ目はmailhogを使うやり方です
- macOSの場合はHomebrewをお使いだと思うので、brewでmailhogを入れます(未インストール時)
brew install mailhog
メモ:Macじゃない人はこちら
- mailhogを起動します
mailhog
メモ:
(初回はmacOSから「ネットワーク接続を許可する?」とポップアップが出るので許可してください)
- Laravelは標準の
.envファイルにmailhogを使用するサンプルが書かれているので、こいつをちょっといじります
MAIL_MAILER=smtp
MAIL_HOST=localhost //ここをlocalhostに変えてね
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
で、Laravelからメール通知を送信してみます📩
- mailhog確認画面にアクセスします(メールが届いてます)
ブラウザを開いてhttp://localhost:8025にアクセスします

あら、便利💓
mailtrapを使うやり方
2つ目はMailtrapを使う方法です
(古いバージョンのLaravelではMailtrapが.envにサンプルで書かれてたりしました)
- まずはサインアップ
Mailtrapにアクセスしてサインアップします(GitHubアカウント連携とか楽で良いです)

-
メールボックスの作成
SandboxにあるSetup Inboxをクリックします

-
右上にある
Add Projectをクリックします

-
Project Nameを適当に入力(Laravelとか)して
Addをクリックします

-
Add Inboxをクリックしてインボックスを作成します


-
作成したインボックスをクリックします

-
Integrationsをクリックして
Laravel 7+を選択します

-
Laravelの
.env用の認証情報が表示されます (*下記の情報はサンプルで既に破棄済みです)

.envファイルの下記をMailtrapの認証情報に合わせて変更します
MAIL_MAILER=smtp //mailtrapを貼り付け
MAIL_HOST=smtp.mailtrap.io //mailtrapを貼り付け
MAIL_PORT=2525 //mailtrapを貼り付け
MAIL_USERNAME=生成されたUSERNAME //mailtrapを貼り付け
MAIL_PASSWORD=生成されたPASSWORD //mailtrapを貼り付け
MAIL_ENCRYPTION=tls //mailtrapを貼り付け
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
- メールを送るとMailtrapのインボックス内に表示されます
あらあら、便利💓
Discussion