メールのテスト送信に便利なMailtrapの使い方【Laravel対応】

メールのテスト送信に便利なMailtrapの使い方【Laravel対応】

Laravelで開発していて、メール一斉送信機能などを作るとき、テストメールを自分のメールアドレス宛に送ってテストしていました。そうすると、テストメールが自分の受信に溜まっていってしまいます。

しかし、そんなテストに役立つ「Mailtrap」というツールがありました。

Mailtrapを使えば、テスト用の受信トレイへメールを送れます。また、一括送信メールなどもこのMailtrapに送れるため、開発テストに便利です。

Mailtrapの使い方(メール送信テスト)

MailtrapはLaravel以外にさまざまな言語、フレームワークに対応していますが、今回はLaravelでの導入方法を紹介します。

1. サインアップ

まずは「Mailtrap」のサイトからアカウントを作ります。

Mailtrap
出典:Mailtrap

2. アカウント作成

Google、Github、Officeアカウントでも登録可能です。

Mailtrapのアカウントを作成

3. Start testingをクリック

以下の赤枠部分「Start testing」をクリックします。

Start testingをクリック

もしくは、左サイドバーで「Email Testing」>「Inboxes」をクリックします。

4. Integrationsを選択

Inbox画面に移動したら、Integrationsのセレクトボックスをクリックしてください。

Integrationsを選択

使用しているフレームワーク等を選びます。今回私はLaravel8を使っていたのでLaravel 8.xを選びました。

5. コードをコピー

Laravelを選択した場合は以下のように.envに貼り付ける用のコードが出ますので、コピーします。

コピーする

6. envに貼り付け

ローカルのLaravelプロジェクトの.envに貼り付けましょう。

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にテストメールが届いています。