ローカル環境から送信されるメールをブラウザで確認できるMailHog

当ページのリンクには広告が含まれています。

「MailHog」は、XAMPPのPHPなど、ローカル環境で動作しているウェブサイトやシステムから送信されるメールを捕まえて、ブラウザで確認表示できるツールです。この記事では「MailHog」のダウンロード・設定・テストの方法を解説します。

「Shift_JIS」のメールも扱う場合

「MailHog」が対応している文字コードは「UTF-8」のみです。もし「Shift-JIS」のメールも扱う場合は、「MailHog」と同じ機能を持ち、「Shift-JIS」にも対応している「MailCatcher」の利用をオススメします。

この記事の実行環境
  • Windows11 Home (23H2)
  • XAMPP 8.2.12
  • テキストエディタ : VSCode
  • インストールしたMailHog : 1.0.1
目次

「MailHog」のダウンロード

「MailHog」のダウンロードは「GitHub」から行いますが、「GitHub」のアカウントを作成する必要はありません。

GitHubの「MailHog」のページにアクセスします。

https://github.com/mailhog/MailHog

画面右側に「Releases」という表示があります。それを見ると、現時点では、「Latest」として「Mailhog 1.0.1」と表示されていました。これが現在リリースされている最終バージョンです。その表示をクリックします。

Mailhogの最終バージョンの表示をクリック
Mailhogの最終バージョンの表示をクリック

様々なプラットフォーム用のダウンロード・リストが表示されますので、目的の「MailHog」をダウンロードします。

目的の「MailHog」をダウンロード
目的の「MailHog」をダウンロード
  • Windows64ビット版を使っている場合 → MailHog_windows_amd64.exe
  • Windows32ビット版を使っている場合 → MailHog_windows_386.exe

Intel版の64ビットを使っている場合も「MailHog_windows_amd64.exe」です。

所定のフォルダに設置

「MailHog」は、ダウンロードしてきた実行ファイルを、所定のフォルダに設置するだけで使用できます。今回は「XAMPP」で使用することを前提に、解説します。

ダウンロードした「MailHog」を、「mailhog.exe」などにリネームします。このファイル名は、後ほどPHPの設定ファイルに記述するため、分かりやすいような名前が良いです。

リネームしたら、「C:/xampp/sendmail/」下にコピーします。

ダウンロードした「MailHog」を所定のフォルダに設置
ダウンロードした「MailHog」を所定のフォルダに設置

「MailHog」の起動・終了

「C:/xampp/sendmail/mailhog.exe」をダブルクリックして起動します。次のスクリーンショットのような画面が表示されます。

「MailHog」が起動している状態
「MailHog」が起動している状態

ブラウザから「http://localhost:8025」にアクセスします。次のような画面が表示されれば「MailHog」は正常に動作しています。送信されたメールは、この画面に表示されます。

「MailHog」の画面
「MailHog」の画面

「MailHog」を起動したときに開いた以下のウィンドウを閉じると、「MailHog」は終了します。

「HailHog」のウィンドウを閉じると「MailHog」は終了する
「HailHog」のウィンドウを閉じると「MailHog」は終了する

XAMPPのPHPから送信されるメールを「MailHog」で確認する

XAMPPのPHPから送信されるメールを「MailHog」の画面で表示できるようにするための設定を行い、動作確認を行います。

PHPの設定変更

XAMPPのPHPから送信されるメールを「MailHog」に対して送信するように、設定を行います。

設定するファイルは「 C:/xampp/php/php.ini 」です。これをエディタで開き、以下のように修正します。

  • 「smtp_port」を「1025」に変更。
  • 「sendmail_path」を設定。

設定する「sendmail_path」は、次のとおりです。

"C:/xampp/sendmail/mailhog.exe sendmail"

パスに記述する「mailhog.exe」は、上記でリネームしたファイル名です。

修正前と修正後のイメージは、次のスクリーンショットのようになります。

【”php.ini”修正前】

「php.ini」修正前
「php.ini」修正前

【”php.ini”修正後】

「php.ini」修正後
「php.ini」修正後

PHPの設定変更は以上です。

メール送信テスト

以下のような簡単なメール送信プログラムを「mailtest.php」というファイルで、ローカルのドキュメントルートに設置して、ブラウザからアクセスしてみます。

<?php
$to      = 'test@localhost';
$subject = 'テストメール';
$message = 'こんにちは。これはMailHogのテストメールです。';
$headers = 'From: webmaster@localhost';

$result = mb_send_mail( $to, $subject, $message, $headers );
if ( $result ) {
    echo '送信完了';
} else {
    echo '送信失敗';
}

「Apache」を起動、または再起動して、ブラウザから「http://localhost/mailtest.php」にアクセスします。

「送信完了」と表示されました。

「送信完了」と表示された
「送信完了」と表示された

「MailHog」の画面を確認してみると、送信したテストメールが着信しています。

「MailHog」の画面を確認してみると、送信したテストメールが着信している
「MailHog」の画面を確認してみると、送信したテストメールが着信している

ダブルクリックすると、メールの本文が確認できます。

テストメールの本文
テストメールの本文

XAMPPのPHPから送信されたメールを「MailHog」を使って、ブラウザ上で確認することができました。以上で「MailHog」の解説は終了です。

よかったらシェアしてね!
  • URLをコピーしました!
目次