XAMPPのローカル環境で開発したプロジェクトに、問い合わせや自動返信メールなど実装した時に意外と手こずるのがメールの送信機能のテスト。
例えば、問い合わせの送信先を適当に開発者のメールアドレス宛にしてもいいですが、場合によっては複数の人がテストしたり弄ったりしていると大量にメールを送受信することになり困ったことになりかねません。
自分のメールアドレスにしてもいいですが、開発現場によっては自分のメールアドレスを作ってもらえないこともあります。
「メールの誤送信をしたらどうしよう…」と不安になったものです。
そこで役立つのが今回紹介する「MailHog」です。
「MailHog」を使うとローカル環境で送信したメールの内容をブラウザ上で確認できます。
実装方法は簡単で、「ファイルのダウンロード」「設定ファイルの変更」だけ。
これだけで、ささっと送信したメールを確認できます。
例えば、会員登録のテストをする時、「同じメールアドレスを登録できない」制限がある場合でも適当なメールアドレスを打って仮登録確認メールなどの自動送信メールを確認できちゃうんです!
そこで今回は「MailHog」の実装方法から、メールの確認まで詳しく解説します。
ぜひ、XAMPPで開発したプロジェクトで送信するメールを確認をしたい場合に活用してみてください。
【手順1】「MailHog」ファイルをダウンロードする
最初にこちらのgithubにアクセスします。
下のほうまでスクロールすると、「Assets」の文字が出てきます。
その下から「MailHog_windows_amd64.exe」を探してクリックしてください。ダウンロードがはじまります。
自分のPCのOSが32ビット版なら「MailHog_windows_386.exe」を選んでください。
【手順2】ファイルを指定のフォルダに移動する「注意!展開やインストールはしない!」
いつもならダウンロードしたファイルを展開したり、インストールをはじめるところですが、このファイルはそのまま使用します。
XAMPPのある「C:\xampp\sendmail」に移動させてください。
XAMPPをインストールした時にデフォルトの設定でインストールしている場合は「C:\xampp\sendmail」ですが、変更している場合は適時XAMPPのディレクトリを探してくださいね。
コピーではなく、切り取り貼り付けで大丈夫です。
【手順3】ファイル名を変更する
移動させたファイル「MailHog_windows_amd64.exe」を、「mailhog.exe」に変更します。
32ビット版で「MailHog_windows_386.exe」をダウンロードした方も、「mailhog.exe」で大丈夫です!
【手順4】PHP設定ファイルを編集する
次にXANPPのPHP設定ファイルを編集します。
「C:\xampp\php\php.ini」をテキストエディタなどで開いてください。
デフォルトではこうなっているところを…
[mail function]
; For Win32 only.
; https://php.net/smtp
SMTP=localhost
; https://php.net/smtp-port
smtp_port=25
; For Win32 only.
; https://php.net/sendmail-from
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; https://php.net/sendmail-path
;sendmail_path =
以下のように編集します。
[mail function]
; For Win32 only.
; https://php.net/smtp
SMTP = localhost
; https://php.net/smtp-port
smtp_port = 1025
; For Win32 only.
; https://php.net/sendmail-from
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; https://php.net/sendmail-path
sendmail_path = "C:/xampp/sendmail/mailhog.exe sendmail"
変えたところは以下の2箇所です。
smtp_port = 1025
sendmail_path = "C:/xampp/sendmail/mailhog.exe sendmail"
「sendmail_path」は先頭にコメントアウトの「;」が付いているので、削除を忘れないようにしましょう。
設定はこれで終わりです。簡単でしたね!
次から「MailHog」での確認方法を解説していきます。
【手順5】「MailHog」を起動する
先ほど保存した「C:\xampp\sendmail\mailhog.exe」をダブルクリックして起動してください。
「Windowsセキュリティの重要な警告」が出る場合もありますが、問題ありませんので「アクセスを許可する」のボタンを押下してください。
黒い画面のままで心配になりますが、これで起動完了です。
「MailHog」でメールを確認する間は、この画面を閉じないように気を付けてください。
【手順6】ブラウザで「MailHog」にアクセスする
ブラウザで「http://localhost:8025」にアクセスしてみてください。
以下のような画面が表示されれば、成功です!
【手順7】実際にプロジェクトでメールを送信してみる
実際にプロジェクトでメールを送信してみましょう。
その後、先程開いた「MailHog」のページを確認してみます。
無事にメールが届きました!
メールをダブルクリックしてみると、ちゃんと本文も確認できます。
これで自分の環境下でのテストのメールは「MailHog」で確認できるようになりました!
まとめ
開発環境でテストしていると、メールを送信する画面では「変なところにメール飛ばないよね…」とハラハラしながらチェックしていた記憶があります。
「MailHog」を活用すると、テスト中の誤送信を防げるのがいいですね!
今後は重宝したいと思います。