開発環境でメール送信テストしたいとき、MailCatcher(メールキャッチャー)が便利です。
WindowsでMailCatcherを使うまでの手順を解説していきますね。
.envファイルに面倒な設定をせず、ローカル環境でテストできます。
Laravel:開発中のメール送信テストにMailCatcherを使う手順
ではスタートします。
最初にRubyをインストールする必要があり、ここだけ、少し面倒です。
① Rubyのインストール
まずは下記よりRubyのインストーラーをダウンロードします。
2021年2月現在は、「Ruby+Devkit 2.7.X (x64)」がおすすめされているので、わたしは、こちらを使いました。
おすすめバージョンには、分かりやすく矢印がついています。
ただ、おすすめバージョンは変わるかもしれないので、注意してくださいね。
ダウンロード&解凍後、インストーラーを実行。「Next」をクリックして、ひたすら進めていきます。
② Mailcatcherのインストール
インストールが完了したら、コマンドプロンプトを立ち上げてください。
Windowsシステムツールから起動できます。
下記コマンドを入力して、MailCatcherをインストールします。
1 |
gem install mailcatcher |
しばらく待ちます。
数分かかります。
インストール完了後、次のようなメッセージが表示されます。
Done installing documentation for sqlite3, rack-protection, tilt, sinatra, mini_mime, mail, mailcatcher after 201 seconds
7 gems installed
③ MailChatcherを起動
あとはコマンドプロンプトに MailCatcher と入力するだけで、起動します。
1 |
mailcatcher |
ブラウザのURLに【http://localhost:1080/】と入力します。
MailCathcerが表示されます。
④ .envファイルの設定
.envファイルには、MAIL_PORTに【1025】と入れておきましょう。
ほかはそのままでも良いですし、MAIL_USERNAMEやMAIL_FROM_ADDRESSを適当に変えてもOKです。
1 2 3 4 5 6 7 8 |
MAIL_DRIVER=smtp MAIL_HOST=localhost MAIL_PORT=1025 MAIL_USERNAME=test MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=test@test MAIL_FROM_NAME="${APP_NAME}" |
以上で設定完了です。
⑤ テスト結果
今回は、あるタイミングで自動的にメールが送信されるよう、Laravelに設定しておきました。
実行したところ、次のように、無事、MailCathcerにメールが送信されました。
手軽にメール送信テストができて、便利です。
なおLaravelでメールを送信する際はMailableという機能が使えます。
Mailableを使う手順は、こちらの記事にまとめています。
自動メールを送信するには、スケジューラーを使います。
スケジューラーはまた別の記事にしていきますね。