tapitapi’s blog

1日1杯タピオカ!エンジニア

【Ruby on rails】ローカルで疑似メール送信!letter opener導入

メール送信のテストをlocalのdevelopment環境でやりたい!!

疑似メールサーバを簡単に設定できる便利Gem ”Letter opener”の使い方を紹介します。

 

letter openerの動きは、下記demoサイトでご確認ください(メール送信したあと、「Click here to see sent mails」でメールの確認ができます)

letter-opener-web.herokuapp.com

 

1.gem 'letter_opener_web'(疑似メール送信用Gem)と'config' (設定値管理用Gem)をGemfileに追加

gem 'letter_opener_web', '~> 1.0

gem 'config'

 

2.bundle installする

 

3.Gem ’Config’の設定を行う

rails g config:install

上記をコンソールで実行すると、下記ファイル類が生成される

create config/initializers/config.rb
create config/settings.yml
create config/settings.local.yml
create config/settings
create config/settings/development.yml
create config/settings/production.yml
create config/settings/test.yml
append .gitignore

 

4.config/environments/development.rbにメール送信時の値を設定

config.action_mailer.delivery_method = :letter_opener_web
config.action_mailer.perform_deliveries = true
config.action_mailer.default_url_options = { host: Settings.host_name }

 

5.4.のSettings.host_nameを、3.で生成されたconfig/settings/development.yml内に記載

host_name: 'localhost:3000' #local環境に合わせたホスト名を記載 

 

6.config/routes.rbに、送信メール確認用のルートを設定(下記で、上記ホスト名/letter_openerのパスを直打ちすると、(localhost:3000/letter_openerなど)送信メール確認画面が表示される)

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

 

以上ですー!

おやすみなさいいいいいいぃぃぃぃ