letter_opener_web実装方法

letter_opener_web

letter_opener_webを導入すると、送信されたメールをwebサイトで確認することができます。
ログイン時のパスワードリセットなどなど、RailsのMailerと組み合わせて使われるケースが多いです。

実装方法

Gemfile

Gemfileに設定を行っていきます

# Gemfile

group :development do
  gem 'letter_opener_web'
end

ターミナルで下記コマンドを実行しgemを読み込みます。

bundle install

Gemfile.lockを見てみるとletter_opener_webが追加されています。

# Gemfile.lock

       launchy (2.5.0)
      addressable (~> 2.7)
    letter_opener (1.7.0)
      launchy (~> 2.2)
    letter_opener_web (1.4.0)
      actionmailer (>= 3.2)
      letter_opener (~> 1.0)
      railties (>= 3.2)

DEPENDENCIES
       letter_opener_web


config/routes.rb

config/routes.rbにも設定を記述していきます。

# config/routes.rb
Rails.application.routes.draw do
  root to: 'welcome#index'
  # (略)

  # letter opener の為に、一番最後に記述する
  mount LetterOpenerWeb::Engine, at: '/letter_opener' if Rails.env.development?
end


config/environments/development.rb

config/environments/development.rbにも設定を記述していきます。

# config/environments/development.rb

# letter opener の為に以下を追加
  config.action_mailer.default_url_options = { host: 'localhost:3000' }
  config.action_mailer.perform_caching = true
  config.action_mailer.delivery_method = :letter_opener_web
  config.action_mailer.perform_deliveries = true


使い方

ターミナルで下記コマンドを実行しサーバーを起動します。

rails s

ブラウザのURL欄にlocalhost:3000/letter_opener/と入力します。
すると下記のようにletter_opener_webが立ち上がるので実装完了です! f:id:Mekun:20210921052049p:plain

参考にしたサイト

https://github.com/fgrehm/letter_opener_web

Ruby on Rails の 開発環境で 簡単にメール送信機能の確認ができる letter_opener_web の使い方