MailCatcherを使ったメール送信テスト




メールの送信テストに便利な、mailcatcher を紹介します。

mailcatcher はシンプルなSMTPサーバーで、受け取ったメールをブラウザ画面で確認することができます。


インストール

mailcatcher は Ruby で書かれており、gem コマンドを使ってインストールします。

gem install mailcatcher

起動

mailcatcher コマンドを実行すると常駐プロセスとして動き出します。

$ mailcatcher

Starting MailCatcher
==> smtp://127.0.0.1:1025
==> http://127.0.0.1:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.

smtp は IPアドレス 127.0.0.1 の 1025 ポートを使用するよう表示されました。
wwwブラウザで http://127.0.0.1:1080 へアクセスすると、web画面が表示されます。


Laravel のメール送信先を mailcatcher にする

以前に書いた、メールの環境設定に従って、.envファイル、config/mail.phpファイルを記述しておきます。

その上で、.envを下記のように修正します。

MAIL_DRIVER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=1025
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=your_address@gmail.com
MAIL_FROM_NAME=your_name
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_PRETEND=false
  • 送信先ホストにローカルホストである 127.0.0.1 を設定
  • ポートに 1025 を設定
  • ENCRYPTION は不要なので null を設定
  • SMTP認証は不要なので、USERNAME, PASSWORDに null を設定

tinker でメール送信

tinker を起動します。

$ php artisan tinker
Psy Shell v0.3.4 (PHP 5.6.2 — cli) by Justin Hilema
>>>

Mail::raw() でテキストメールを送信してみます。

>>> Mail::raw('Test Mail', function($message) { $message->to('somebody@example.com')->subject('test'); });
=> 1
>>>

1 が返ってくれば送信成功です。
エラーが発生するようなら、設定を修正します。


Mailcatcherの web画面で確認

wwwブラウザで http://127.0.0.1:1080 へアクセスします。
メールが届いていれば成功です。
メールの本文も確認できます。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中