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

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

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

「UTF-8」のメールだけの場合

「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」のバージョンが表示されるなら、インストールされています。

ruby -v
「Ruby」のバージョンが表示されたところ
「Ruby」のバージョンが表示されたところ

「MailCatcher」のインストール

コマンドプロンプトから、以下のコマンドを実行してください。

gem install mailcatcher

コマンドを実行すると、ダウンロードとインストールが始まります。

「MailCatcher」インストール中
「MailCatcher」インストール中

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

エラー表示がなく終了すれば、「MailCatcher」のインストールは完了

「MailCatcher」の起動・終了

コマンドプロンプトから以下のコマンドを入力してください。このコマンドが「MailCatcher」の起動コマンドになります。

mailcatcher

上記のコマンドを入力すると、次のスクリーンショットのような表示になります。これで「MailCatcher」は起動しており、利用できる状態になっています。

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

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

ブラウザから「http://localhost:1080」にアクセス
ブラウザから「http://localhost:1080」にアクセス

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

「MailCatcher」のウィンドウを閉じると「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.ini”修正前

【”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」の画面を確認してみると、送信したテストメールが着信しています。

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

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

メールの本文
メールの本文

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

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