LaravelのマニュアルのMailのセクションでは、Mailtrapというサービスが紹介されています。開発中はGmailのアドレスの送信すればいいものの、なにゆえに必要なのか疑問を持っていました。しかし、先日LaravelのNotificationのHTMLメールでHTMLのタグがどう使われているかチェックするのに困ったことがあり、Mailtrapのサービスを使用してみました。

Mailtrapのようなサービスの必要性

これ考えてみましょう。開発では、これが意外と理由あるのです。

まず、通常使用している自分のメールアカウントに開発サイトから送信されるメールを一緒にしたくありません。しかも、テストのために何回も何回もプログラムからメールを送信して、いつもそれらを読んだ後削除するから、Gmailなどは学習して勝手にスパムあるいはゴミ箱に入れてしまいます。いちいちゴミ箱を見るのも面倒です。

それなら、メールフィルターで送信元で仕分ければとか、違うGmailアカウントを作成すれば、とか言われそうです。

しかし、開発では、1つのプロジェクトで複数の届け先のテストが必要なときがあります。例えば、違う会員で違う内容の送信となるときでは、違うメールアドレスでのテストが必要です。そうなら、いくつものフィルターの設定やメールアカウントが必要となり、いちいち設定が面倒なのです。

また、HTMLメールだと、特にLaravelでは最近マークダウンとかコンポーネントとか使用していて、最終的に生成されるメールのHTMLがどうなるかをチェックしたいときがあります。しかし、HTMLだとQuoted-printableのフォーマットであるし、Gmailでオリジナルのデータを見ても通常のHTMLとは違うのでわけがわからないのです。こんな感じです。

ということで、これらの開発者が直面する問題を解決すべく、このようなサービスがあるわけです。

サインアップ

英語版しかないのですが、まずサインアップ。アカウントは、メールアドレスとパスワードだけで作成可能です。GoogleやGithubなどのアカウントがすでにあるならそれを通してログインしてもOKです。

無料版なのでチャージされることないので心配ないです。

Laravelの環境変数の設定

以下の画面で、Laravelを選択したら、.envにそのままコピーできる環境設定を表示してくれます。

Mailtrapのインボックス

さっそく、メールを送信してみます。Laravelで会員登録完了時に送信されるメールアドレス確認のメールです。HTMLのメールです。

見れましたね。どのメールアドレスに送信してもmailtrapのInboxに入ります。

中身のHTMLソースを見てみましょう。

これなら、通常のブラウザで見るHTMLソースと同じようです。つまり読めます。並んでいるタブの「Raw」をクリックして比べてみてください。

無料はいつまで?

この時点においては、無料版は1ヶ月500通までの受信OKで、3ヶ月まで永遠に無料です。
有料のプランとしては、月9ドルから始まります。

By khino