Laravelで開発していて、メール一斉送信機能などを作るとき、テストメールを自分のメールアドレス宛に送ってテストしていました。そうすると、テストメールが自分の受信に溜まっていってしまいます。
しかし、そんなテストに役立つ「Mailtrap」というツールがありました。
Mailtrapを使えば、テスト用の受信トレイへメールを送れます。また、一括送信メールなどもこのMailtrapに送れるため、開発テストに便利です。
目次
Mailtrapの使い方(メール送信テスト)
MailtrapはLaravel以外にさまざまな言語、フレームワークに対応していますが、今回はLaravelでの導入方法を紹介します。
1. サインアップ
まずは「Mailtrap」のサイトからアカウントを作ります。
2. アカウント作成
Google、Github、Officeアカウントでも登録可能です。
3. Start testingをクリック
以下の赤枠部分「Start testing」をクリックします。
もしくは、左サイドバーで「Email Testing」>「Inboxes」をクリックします。
4. Integrationsを選択
Inbox画面に移動したら、Integrationsのセレクトボックスをクリックしてください。
使用しているフレームワーク等を選びます。今回私はLaravel8を使っていたのでLaravel 8.xを選びました。
5. コードをコピー
Laravelを選択した場合は以下のように.envに貼り付ける用のコードが出ますので、コピーします。
6. envに貼り付け
ローカルのLaravelプロジェクトの.envに貼り付けましょう。
7. MAIL_FROM_ADDRESSを足す
Laravelのメール送信で、.envにMAIL_FROM_ADDRESS
が設定されてないと、Cannot send message without a sender address
(=送信元が設定されていない)というエラーが発生してしまいます。
関連記事 【Laravel】Cannot send message without a sender address
例)
MAIL_FROM_ADDRESS=info@example.com
のような感じで付け加えておきましょう。
8. テストメールを送信する
ここまで設定が完了したら、メール送信を実行してみてください。
なお、テストメールの宛先アドレスは○○○@example.com、○○○@example.net、○○○@example.orgなどにしておけば良いと思います。
参考 思わぬ事故防止!開発時やテスト時に使用するメアドのドメインは example.com に統一しよう
9. MailtrapのInboxでメールが届いているか確認
うまく設定できていれば、MailtrapのInboxにテストメールが届いています。