これまでに作った機能について簡単にまとめていく。
今回は、
Heroku+SendGirdを使ったメール送信機能の作成
前提条件
Herokuのアカウントを持っていること
開発環境でのメール送信機能があること
開発環境でのメール送信機能についてはこちら
Herokuへログイン
$ heroku login
できない場合は
$ heroku login --interactive
アプリケーションの作成
既にある場合は省略
アプリ名は設定しなかった場合は自動で決定
$ heroku create アプリ名
SendGridの導入
$ heroku addons:create sendgrid:starter
本番環境でのメールの設定
config/environments/production.rb
config.action_mailer.default_url_options = { host: 'Herokuアプリのドメイン' } ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { user_name: ENV['SENDGRID_USERNAME'], password: ENV['SENDGRID_PASSWORD'], domain: "heroku.com", address: "smtp.SendGrid.net", port: 587, authentication: :plain, enable_starttls_auto: true }
ドメインはheroku domainsで確認
USERNAME ・ PASSWORDの取得
$ heroku config:get SENDGRID_USERNAME
$ heroku config:get SENDGRID_PASSWORD
USERNAME ・ PASSWORDの設定
$ heroku config:set SENDGRID_USERNAME="取得したSENDGRID_USERNAME"
$ heroku config:set SENDGRID_PASSWORD="取得したSENDGRID_PASSWORD"
注意
SendGridのUSERNAMEとPASSWORDの値を直接書き込まない
GitHubへプッシュした場合SendGridのアカウントが凍結される
Gitへコミット
Herokuへデプロイ
$ git push heroku master
初めてデプロイする場合はこちらも確認
以上で作成完了