環境
Rubyバージョン: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x64-mingw32]
Rails Gemバージョン: 6.1.4.1
letter_opener Gemバージョン: 1.7.0
参考サイト
letter_openerとは?
メールが送信される代わりに、ブラウザでメール内容が表示される開発用gemです
デフォルトの場合development環境でメールが送信された時コンソールにメール内容が表示されますが、流れてしまって見づらいのでこれを使うと便利です
これを使うとdevelopment環境なのにわざわざgmailを設定するなんて手間も掛からず開発を楽にしてくれます!
※letter_opener_webとは異なるので注意
導入
Gemfileに追加
Gemfile
のgroup :development do ~ end
の中に追加する
group :development do
# ~~~~~~~~~~
gem 'letter_opener'
end
Gemインストール
ターミナルでコマンド実行
bundle install
メーラー設定変更
config/environments/development.rb
の一番下(endよりは上)に設定を追加する
※すでにある場合は値のみ置き換える
Rails.application.configure do
# ~~~~~~~~~~
config.action_mailer.delivery_method = :letter_opener
config.action_mailer.perform_deliveries = true
end
動作確認
任意の手段でメールを送信させて、自動的にブラウザ上でメール内容が表示されることを確認します
うまく動かない!
htmlファイルがブラウザに関連付けされていない
表示されるメールの内容はローカルに生成された単純なHTMLなので、それをOS側でブラウザに関連付けする必要があります
一般的には、HTMLファイルをダブルクリックしたらブラウザが開く状態に設定する必要があります
間違えて閉じてしまった
デフォルトで、メールのHTMLはtmp/letter_opener
の中にあります
それをブラウザで開くことで、メールの内容を確認することができます