Laravel Docker サーバサイド

ローカルでメール送信試すにはMailHogがおすすめ

Webシステム開発ではユーザーにメールを送信する機能が必要になるケースが多いですが、ローカル環境で試す分にはMailHog使うと良いというお話です。

MailHogとは

MailHogは開発用のメールテストツールで、ローカル上にシンプルなSMTPサーバを立ち上げることができます。

MailHogを使って送信したメールは実際のメールアドレスに届くことはなく、MailHogの管理画面から確認することができます。

そのため万一、赤の他人に間違ってメールが届いてしまうという実装時のヒューマンエラーを防ぐことができるので、セキュリティ的にも安全です。

ちなみに、Go言語で作られているみたいです。

導入方法

今回はDockerコンテナで立ち上げたので、その方法を紹介します。

以下のdocker-compose.ymlを作成して、ローカルでdocker-compose up -dを実行します。

docker-compose.yml

http://localhost:8025にアクセスすると、次のような管理画面にアクセスできます。

メール送信を試す

Laravelで立ち上げたAPIサーバからメールを送信してみます。

routes/api.php

API実行

MailHog管理画面

メールが届きました、送信先test@example.comを適当に変えても大丈夫です。

HTML形式のメールもそのまま表示されます。

まとめ

  • MailHogを使うとローカル内でメール送信機能を作って、ダミーアドレスに送ったメールの確認ができる
  • 開発時に使用するとメールが外部に漏れることがないので安全

-Laravel, Docker, サーバサイド

© 2023 Shiro's secret base