Ruby on Rails4でdevise 4:メール設定(開発環境:letter_opener)

mailcatcherと違いメールファイルを/tmp/letter_opener/配下に格納するletter_openerを使ってみます。

https://github.com/ryanb/letter_opener

letter_openerインストール

/Gemfileを修正(development用にしてみた)

+gem "letter_opener", :group => :development

インストール実行

$ bundle install --path vendor/bundle

メール設定追加

/db/migrate/YYYYMMDDHH24MISS_devise_create_users.rbと/app/models/user.rbはmailcatcherと同じなので、 一つ前の記事を参照。 なので、違うやつだけ。

/config/environments/development.rbを修正 # Don't care if the mailer can't send. config.action_mailer.raise_delivery_errors = false # ↓deviseのメール送信設定 + config.action_mailer.default_url_options = { host: 'localhost:3000' } # ↓の送信方法にletter_opnerを設定 + config.action_mailer.delivery_method = :letter_opener

設定の反映

$ bundle exec rake db:migrate:reset

動作確認

railsを起動してsignupすると送信されたメールが確認できます。

Webインターフェースのletter-opener-webを試す

/Gemfileを修正(development用にしてみた)

+gem "letter_opener_web", :group => :development

インストール実行

$ bundle install --path vendor/bundle

/config/routes.rbを修正

+  if Rails.env.development?
+    mount LetterOpenerWeb::Engine, at: "/letter_opener"
+  end

railsを起動して以下URLにアクセス http://localhost:3000/letter_opener

これはこれで楽だなー。