はじめに
メール送信テストツールのMailtrapの使い方やメリットなどをまとめ、実際に試してみます。
メール送信を行うアプリケーションを開発する際に、非常に便利です。
それでは早速試してみましょう。
Laravel Sailでの開発環境の構築方法は以下をご覧ください。
なお、Laravel Sailでは、Mialpitという類似のツールが初めから使えるようになっております。
Mailpitにつきましては、以下の記事を参考にしてください。
以前Sailで採用されていたMailHogにつきましては、以下の記事を参考にしてください。
他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。
【紹介】個人開発
私の個人開発ですがQuiphaというサービスを開発しました。(Laravel, Vue3など)
良かったら、会員登録して動作を試してみて下さい。
また、Laravel 9 実践入門という書籍を出版しました。
Kindle Unlimitedを契約している方であれば、読み放題で無料でご覧いただくことができます。
Mailtrapについて
概要
Mailtrapはテスト用のメールサーバで、メール送信を行うことができ、メールはブラウザで確認することができます。
無料でも利用することができます。
それほど大量のメール送信を行わなければ、無料枠でも足りると思います。
メリット1
メール送信のプログラムを作成し、動作確認しようとすると、例えば以下のようなやり方があります。
その場合、誤って本番のメールアカウントにメールが送信されてしまったら、大事でしょう。
また、メール送信プログラムに不具合があって、大量に誤送信してしまったなど、影響が大きく、信頼を損なったり、迷惑をかけてしまうことになります。
Mailtrapは、送信先のメールアドレスにメールは送信せず、送ったメールはWebブラウザでMailtrap上で確認することができます。
メリット2
複数のメールアカウントにメール送信のテスト行いたい場合、実在するメールアカウントを用意するのは面倒でしょう。
Mailtrapを使用すると、実際に存在しないメールアカウントでも問題ありません。
送ったメールは、直ぐにMailtrap上から確認できます。
メリット3
Mailtrapのアカウントを作成すると、テスト用のSMTPサーバー情報を取得することができます。
LaravelのSMTPの設定に記述するだけ導入は完了です。
また、本番サーバーでは、SMTP先を変更するだけですので、運用的にも楽です。
Mailtrapのアカウント作成
Mailtrapのアカウントを登録しましょう。サインアップを開きます。
無料で利用するのに、クレジットカードの登録などは不要です。
アカウント作成後、すぐに利用することができます。
サインイン後、受信トレイの設定が開かれます。
SMTP情報が確認できますので、基本的にはどんな開発にも使えます。
各種設定のフォーマットで、設定値を取得することができます。
今回は、プルダウンから「Laravel 7+」を選択しました。
Laravelの.envファイルにそのまま追記できる形式で、サーバー・ユーザー・パスワードなどが記述されています。
右上のCopyボタンをクリックし、Laravelプロジェクトの.envに貼り付けるだけです。
Laravelの設定とメール送信
メール送信を試してみましょう。
以前記事にまとめました、Laravelの認証機能の導入 (Breeze)を参考に、プロジェクトを用意しました。
.envファイルを開き、先程コピーした設定値を貼り付けます。
デフォルトは以下のようになっていますので、上書きしましょう。
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
以下の項目も設定しましょう。(送信元メールアドレスを任意で)
MAIL_FROM_ADDRESS=xxx@gmail.com
アカウント登録画面を開き、アカウントを登録しました。
存在しないメールアドレスでも問題ありません。
メール送信を試すために、「Forgot your password?」をクリックします。
先程アカウント登録したメールアドレスを指定します。
パスワードのリセットリンクが、メール送信されました。
Mailtrapを確認しましょう。一通メールが届いています。
受信ボックスを確認しますと、メールの本文が確認できます。
面白い機能として、送信されたメールがスパム判定されるかどうかの解析を見ることができました。
メールサーバーのIPアドレスがブラックリストに載っていないかなどの結果が見れます。
送信したメールが、迷惑メールに格納された、または、そもそも届かないというケースがあると思いますが、参考になると思います。
Laravelのメール送信をログに出力
Mailtrapを無料で使う場合、メール送信数に上限があります。
(現時点で、1ヶ月あたり500通)
メール送信の開発を行う場合は、まずはメールの内容をログに出力し確認するのが効率的だと思います。
.envファイルを開き、以下の項目を変更します。
MAIL_MAILER=log
先程と同じく、メール送信を試してみましょう。
Laravelのログファイルを確認します。
storage\logs\laravel.log
やや分かりにくいかも知れませんが、ログファイルに、メールアドレスやメール本文などが出力されます。
ちょっとした確認や試すのは、ログファイルに出力するのも良いと思います。
その他
初学者へ
Laravelを初めて触る方へ向け、手順やアドバイスをまとめました。
外部サーバーへ公開
作成したアプリは公開して使ってもらいましょう!
Laravelアプリケーションを外部公開する方法をまとめました。
脆弱性対策
脆弱性を抱えたアプリケーションの場合、攻撃を受ける可能性があり大変危険です。
作成したアプリケーションは、脆弱性対策も意識しましょう。
GitHubと連携
GitHubと連携する方法を解説しました。
プロジェクトの管理はGitHubを活用しましょう。
GitHub Copilot
GitHub Copilotを導入し、AIにコーディングをサポートしてもらうこともできます。
さいごに
メール送信を行うアプリケーションを開発する場合は、Mailtrapの導入は非常に効果的です。
是非活用しましょう。
他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。
コメント