後へ      Topへ      次へ

letter_opener_web: メール内容の確認

前章でメールを配信する方法を説明しました。

開発環境では、
意図通りメールが生成できているかを頻繁に確認するでしょう。
ただ、development.log に保存されるメール内容は非常に見辛いです。

Subject は UTF-8 → Base64 → RFC2047 で、
本文は UTF-8 → Base64 で、
それぞれエンコードされています。
e.g.
Subject → =?UTF-8?Q?=E8=94=B5=E6= ・・・
本文 → PCEtLSBCRUdJTiBhcHAvdmlld3M ・・・

GEM letter_opener_web を使えば、
メールの内容をブラウザで簡単に確認できます。

参考リポジトリ: https://github.com/Bonv-dev/book_mgmt/commit/16545d3
gemfile
\config\environments\development.rb
\config\routes.rb

インストール

gemfile に

group :development do
  gem "letter_opener_web"
end

を追記。(開発環境のみで作用させる設定です)

bundle install

更に、
\config\environments\development.rb

config.action_mailer.delivery_method = :letter_opener_web
config.action_mailer.perform_deliveries = true

を追記します。

更に、
\config\routes.rb

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

を追記します。

動作確認方法

  1. ruby bin/rails s
    で Rails サーバーを起動。
  2. http://localhost:3000/letter_opener/
    をブラウザで開くと、メール内容が確認できる画面になります。
  3. http://localhost:3000/ で WEB アプリを操作し、
    メール配信。
  4. ブラウザの letter_opener 側で
    「Refresh」ボタンを押し、内容を確認。
    「Clear」ボタンか、各メールの「X」ボタンで削除できます。

後へ      Topへ      次へ