LoginSignup
35
33

More than 5 years have passed since last update.

RailsプロジェクトでSMTPサーバ持ってないけど、メール送信機能が正常に動作してるか確認したいとき!

Posted at

SMTPの設定動作確認したいけど、、SMTPサーバ立てるのめんどい

しかももしかしたら開発中の機能で、、誤送信したらどうしよう....

そんなあなたに

mailcatcher を紹介します。

簡単に説明すると、docker上で稼働するSMTPサーバです。

ですが実際にはメールを外部に送信しません。mailcatcherがメールクライアントも兼ねてるので、ブラウザ上ですべてのメールを見ることが出来ます。

これ自体の使い方は、上記リンク先を見てください。

mailcatcherの準備

docker-compose.yml に以下の設定を追加します。

1080ポートはhttp用ポート

1025ポートはSMTP用ポート

  smtp:
    image: schickling/mailcatcher
    ports:
      - "1080:1080"
      - "1025:1025"

完成形はこちら

あとは実行するだけ

$ docker-compose up

これで
http://:1080
にアクセスしてみてください、WEB UIが表示されます。

スクリーンショット 2016-03-19 23.10.17.png

今はまだメール0件ですが、SMTP経由でメール送信するとここにたまります。

Railsからメール送信してみよう

railsのActionMailerを使ってますので、そのあたりの説明は省きます。

そしてSMTPの設定は下記の通りです。

# config/environments/development.rb
# Mail ocnfig
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { :address => "<docker host ip>", :port => 1025 }
config.action_mailer.raise_delivery_errors = true

あとは、実行するだけです。

mailcatcher.gif

こんな感じで確認できます。

開発時は、SMTPサーバも必要無いし、存在するメールアドレスに誤送信してしまうリスクもなくなります。

35
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
33