シンプルSMTPサーバ「MailCatcher」使ってみる

CMS等のメール確認動作には「MailCatcher」が便利だよ!
との情報を @kaburk より教えてもらったのでやってみました。
ちゃんとできてムホムホしてます。
kaburkさん、どうもありがとう_(..)_

MailCatherってなに?

MailCatcher
送信されたメールを、ブラウザから確認できるインターフェイスを提供しているシンプルなSMTPサーバです。

試してみた環境

  • Mac 10.8.5
  • MAMP
  • baserCMSでやってみた

導入手順

黒い画面開いてターミナルで行います。

  • $ gem install mailcatcher
  • ※エラーが出るなど環境によっては「sudo」つける
  • $ mailcatcher

これだけでインストール終わり。
次の「mailcatcher」を実行することで起動します。
起動したらブラウザで http://localhost:1080 で画面出ます。

php.ini を変更する

phpの設定ファイルを変更します。
利用中の環境に依るので以下はサンプル。
・例: /MAMP/bin/php/php5.5.3/conf/php.ini
以下のように書換えます。

;sendmail_path =
  ↓↓↓
sendmail_path = /usr/bin/env catchmail

これで準備完了。

テスト用のphpファイルひとつ作ってアクセス。
※テスト用にはこの辺が参考になります。
PHPでメールを送る - Qiita
着弾確認。http://localhost:1080/

baserCMSのメールフォームからも送信動作。
管理側にも入力ユーザーのアドレス宛にも飛びました。

メールが到着しない場合の解決策1例

mailcather までのパスを指定すると良いかもです。
ターミナルで which catchmail と打ち、出て来たパスをsendmail_pathに指定します。

※例
sendmail_path = /usr/bin/env /opt/local/bin/catchmail

この辺はダメなときはググってみてください。

導入するメリット

こんな感じの場面に良いです。

  • 外部に送信されないので、間違って本番環境への送信を防げる点
  • ローカル環境からは外部へメール送信させたくないとき
  • 送信メールを手軽に表示して確認できる
  • 存在しないメールアドレスも送信できる
  • メールはほぼリアルタイムで表示されリロード不要
  • 簡単コマンドで起動できる

あとがき

macの再起動時には自動で起動されてるワケではないので、コマンドで「mailcatcher」実行してから使いましょう。
mac起動時の自動起動もできるので、この辺見てやってみると良いです。
Mac OSXで起動時にスクリプトを実行する方法 - Qiita

こんな情報もありました。
ローカルでのメールの確認ができるMailCatcherをMacで使う - Shinichi Nishikawa's

MailCatcher に感謝(-∧- )

▲ to Top

▲ to Top