メール送信結果をブラウザ上で確認する方法です。
letter_openerというgemを使います。
本番環境では実際に送信することになるので、開発環境でのみ確認できる状態を作ります。
環境
- MacOS 10.14.5(18F132)
- ruby 2.3.7p456
- rails 5.2.3
手順
1. letter_opener
をインストール
今回は開発環境でのみ確認できる状態を作るため、groupの設定をします。
すでにdevelopmentの設定が出来ている場合は、gem名のみを追記してください。
Gemfile
group :development do
gem 'letter_opener_web'
end
追記したらコマンド
$ bundle install
2. 各種設定ファイルの編集
- config/routes.rb
config/routes.rb
# 追記
if Rails.env.development?
mount LetterOpenerWeb::Engine, at: "/letter_opener"
end
- config/envirronments/development.rb
config/envirronments/development.rb
# 追記
ActionMailer::Base.delivery_method = :letter_opener_web
# 他にaction_mailerの設定をしている場合はコメントアウトする
# config.action_mailer.delivery_method = :smtp
# config.action_mailer.smtp_settings = {
#省略
# }
3. ブラウザから確認する
$ rails s
でサーバーを起動して、ブラウザでlocalhost:3000/letter_openerにアクセスします。
このような画面が表示されればOKです。
4. メールを送信する
メールを送信する処理を実行します。
5. 再度ブラウザから確認する
ブラウザでlocalhost:3000/letter_openerにアクセスして、メールを確認します。
※deviseのパスワード再設定メールを送ってみました。