Mailtrapとは
Mailtrapとは公式サイトに書かれているように、ステージングと開発のための安全なメールのテストできるサービスです。無料版から三百ドルするものまで様々な価格のプランがあります。
Safe Email Testing for Staging & Development
Mailtrapが必要となる例
Laravelにはjetstream関連の認証等でメールを送信する機能があり、メールを送信するサーバが必要になります。開発中であるため、気軽にメールの送受信をしたいような場面です。
Ruby on Railsなどの他の言語やフレームワークでも同様に、メールの送受信等のテストをしたい場合、Mailtrapで開発環境でのテストを気軽に行えます。
SMTPサーバ
主には以下のSMTPサーバが挙げられます。
GmailのSMTPサーバの特徴
- メールが実際に送信されるため、本番環境でも使用可
- 複数の送信方法があったりして、少しややこしい
Mailtrapの仮想SMTPサーバの特徴
- 架空のメールアドレスを使用する
- WebサイトやAPIなどでメールの確認ができる
- コピペするだけで簡単
以上の観点から開発環境ではMailtrapを使うと便利だと思います。
Mailtrapの使い方
サインアップ・登録
まずはじめに公式サイトに行きます。
このような画面が出るのでSign Up Now
をクリックし、Mailtrapのアカウント登録をします。
Google、Github、Office 365などのアカウントから簡単にアカウントをMailtrapの登録することができます。
プロジェクトとの統合
次にLaravelやRuby on RailsなどのプロジェクトとMailTrapの統合をします。
アカウントのログイン後、inboxes画面が表示されます。無料プランではInboxやProjectは一つしか使えません。
ProjectsのMy Inbox
をクリックしてください。次のような画面が表示されます。
画面の左側にメールが届きます。
右側のSMTP SettingsのIntegrations
でプロジェクトとの統合を行います。ドロップダウンリストからプロジェクトの言語やフレームワークに合わせて選択すると、変更する情報を表示してくれます。
Laravelの場合、プロジェクトの .env
というファイルのMAIL_MAILER
等が同じように書かれているのでMailtrapの表示された情報に変更してください。
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=??????????
MAIL_PASSWORD=??????????
MAIL_ENCRYPTION=tls
自分が設定した際には以下のMAILに関する行もあり、残したまま実行すると送信者のメールアドレスが登録されていないというエラーが出たので、MAIL_FROM_ADDRESS=null
の部分を削除してエラー対処しました。
またMAIL_FROM_NAME="${APP_NAME}"
の部分はそのままにしました。
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
メールの使用
以下のように、Inbox画面の右側のEmail Address部分にメールアドレスが書かれています。こちらのメールアドレスを使うと、メールの受信ができます。受信したメールはInbox画面の左側に表示されます。無料プランではこの一つのメールアドレスのみ使うことができます。
まとめ
Mailtrapはコピペするだけでプロジェクトとの統合が完了し、簡単に導入できます。
無料プランではメールアドレスを一つしか使えないように、制限があります。複数のメールアドレスを使わないといけないような場合は、有料プランにするのもありだと思います。