📨

Laravelで送信メールをテストするお手軽な2つの方法

2022/11/02に公開約2,600字

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のインボックス内に表示されます

あらあら、便利💓

GitHubで編集を提案

Discussion

ログインするとコメントできます