xampp環境のLaravelプロジェクトでMailHogを活用します。
時に開発環境でのメールテストは面倒です。
例えば、ローカルからメールを送信する環境を構築して、テスト用メールアドレスを作成して、メールを送信する度にメールボックスを確認するなど。
さらに、誤送信に気を使いつつなど、コストとリスクがあります。
そこでMailHogで気軽なローカル開発環境を構築してみます。
MailHogを使うと、全てのメールはローカルのMailHogメールボックスに送信されるので、テスト用のメールアドレスを用意する必要もなければ、誤送信の心配もありません。
- Windows 11 Home
- xampp 8.1.25
- Laravel 9.52.0
- MailHog v1.0.0
MailHogをダウンロード
MailHogの公式サイトから、Windows用の実行ファイル「MailHog_windows_amd64.exe」をダウンロードします。
GitHub – mailhog/MailHog: Web and API based SMTP testing
ダウンロードしたファイルを任意の場所、例えば今回は以下の場所に設置します。
C:\xampp-8.1.25\sendmail\MailHog_windows_amd64.exe
MailHogを実行
ダウンロードした実行ファイルを実行します。
以下のようにコマンドプロンプトが起動しますが、放置します。
2024/xx/xx 12:00:00 Using in-memory storage 2024/xx/xx 12:00:00 [SMTP] Binding to address: 0.0.0.0:1025 [HTTP] Binding to address: 0.0.0.0:8025 2024/xx/xx 12:00:00 Serving under http://0.0.0.0:8025/ Creating API v1 with WebPath: Creating API v2 with WebPath:
ブラウザで「http://localhost:8025/」にアクセスすると、MailHogの管理画面にアクセスできます。
Laravelのメール設定
MailHogを利用するためには、SMTPサーバを「localhost」、ポートを「1025」にします。
Laravelの場合、環境設定ファイル「.env」を編集して、以下のように設定します。
MAIL_MAILER=smtp MAIL_HOST=localhost MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}"
実際にLaravelプロジェクトでメール送信処理を実行すると、先ほどのMailHog管理画面でメール受信を確認できると思います。
簡単で便利ですね。
コメントする