【Rails4】ActionMailerを使う(heroku からメールを送信する)

環境

Rails4.1.8
heroku SendGrid

目的

  • productionモード(heroku)でメールが送れるようにする

1. herokuにアドオン SendGridをインストール

# heroku login
# heroku addons:add sendgrid:starter

2. herokuから設定を取得

# heroku config:get SENDGRID_USERNAME
# => xxxx@heroku.com
# heroku config:get SENDGRID_PASSWORD
# => password

3. herokuにherokuから設定を取得

# config/environment.rb
ActionMailer::Base.smtp_settings = {
  :address        => 'smtp.sendgrid.net',
  :port           => '587',
  :authentication => :plain,
  :user_name      => 'xxxx@heroku.com',
  :password       => 'password',
  :domain         => 'heroku.com',
  :enable_starttls_auto => true
}

4. ローカルでテスト

# MailerとしてNotiferクラスにtest_mailを作成
# rails g mailer notifier でMailerを追加できる

Notifier.test_mail.deliver