【Rails】letter_opener_webを使用して送信メールを確認する

rails action mailer letter_opener_web confirm

Ruby on Railsの開発環境で送信したメールをブラウザで確認するためにgem ‘letter_opener_web’を使ってみます。上の画像のようなページを簡単に導入できて、メールの確認ができます。本記事ではメール送信をdeviseのconfirmableモジュールを使用してsign_up時に行ってみました。

letter_opener_web
https://github.com/fgrehm/letter_opener_web
devise
https://github.com/plataformatec/devise

実行環境はこちらです

準備

新規アプリ作成し、scaffoldで足場を作っていきます。

Gemの追加

gemfileに以下のように追加します。

Gemfile

Devise

bundle installしてdeviseも導入します。

confirmableを追加することで、確認メールを送信できます。

app/models/user.rb

マイグレーションファイルの中の、Confirmable関連のコメントを外します。

db/migrate/20180928034759_add_devise_to_users.rb

Routeing

/letter_openerLetterOpenerWeb::Engineをマウントします。

Config

以下のようにデフォルトURL指定します。config.action_mailer.delivery_methodは:letter_opener_webに変更します。ちなみに開発環境がcloud9の場合は{ host: ‘myapp.c9users.io/’, port: $PORT, protocol: ‘https’ }とするとOKでした。

config/environments/development.rb

これで http://localhost:3000/users/sign_up からアカウントを作成し、送信されたメールを http://localhost:3000/letter_opener で確認することが出来るようになります!

以上です!ご覧いただき、ありがとうございました!!


投稿者:

Shuji

読書したり、プログラミングしたりしています。何かアウトプットできそうなものがあれば投稿していきたいと思います。