📨
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