「MailCatcher」は、XAMPPのPHPなどローカル環境で動作しているウェブサイトやシステムから送信されるメールを捕まえて、ブラウザで確認表示できるツールです。この記事では「MailCatcher」のインストール・設定・テストの方法を解説します。
「MailCatcher」は、文字コードが「Shift-JIS」のメールにも対応しています。もし「Shift-JISのメールは扱わない。UTF-8だけで良い」ということであれば、「MailCatcher」と同じ機能を持つ「MailHog」というソフトもあり、こちらはインストールが簡単です。
- Windows11 Home (23H2)
- XAMPP 8.2.12
- テキストエディタ : VSCode
- インストールしたMailCatcher : 0.10.0
「Ruby」のインストール
「MailCatcher」は「Ruby」というプログラム言語で作られていて、「Ruby」の実行環境が必要です。もし、お使いのパソコンに「Ruby」がインストールされていない場合は、以下の記事を参考に、先に「Ruby」のインストールを実施してください。
コマンドプロンプトから、以下のコマンドを実行し、「Ruby」のバージョンが表示されるなら、インストールされています。
ruby -v

「MailCatcher」のインストール
コマンドプロンプトから、以下のコマンドを実行してください。
gem install mailcatcher
コマンドを実行すると、ダウンロードとインストールが始まります。

次のスクリーンショットのように、エラー表示がなく終了すれば、「MailCatcher」のインストールは完了です。

「MailCatcher」の起動・終了
コマンドプロンプトから以下のコマンドを入力してください。このコマンドが「MailCatcher」の起動コマンドになります。
mailcatcher
上記のコマンドを入力すると、次のスクリーンショットのような表示になります。これで「MailCatcher」は起動しており、利用できる状態になっています。

ブラウザから「http://localhost:1080」にアクセスしてみると「MailCatcher」の画面が表示されます。送信されたメールは、この画面に表示されます。

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

XAMPPのPHPから送信されるメールを「MailCatcher」で確認する
XAMPPのPHPから送信されるメールを「MailCatcher」の画面で表示できるようにするための設定を行い、動作確認を行います。
PHPの設定変更
XAMPPのPHPから送信されるメールを「MailCatcher」に対して送信するように、設定を行います。
設定するファイルは「 C:/xampp/php/php.ini 」です。これをエディタで開き、以下のように修正します。
「smtp_port」を「1025」に変更。
修正前と修正後のイメージは、次のスクリーンショットのようになります。
【”php.ini”修正前】

【”php.ini”修正後】

PHPの設定変更は以上です。
メール送信テスト
以下のような簡単なメール送信プログラムを「mailtest.php」というファイルで、ローカルのドキュメントルートに設置して、ブラウザからアクセスしてみます。
<?php
$to = 'test@localhost';
$subject = 'テストメール';
$message = 'こんにちは。これはMailCatcherのテストメールです。';
$headers = 'From: webmaster@localhost';
$result = mb_send_mail( $to, $subject, $message, $headers );
if ( $result ) {
echo '送信完了';
} else {
echo '送信失敗';
}
「Apache」を起動、または再起動して、ブラウザから「http://localhost/mailtest.php」にアクセスします。
「送信完了」と表示されました。

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

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

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