これまでに作った機能について簡単にまとめていく。
今回は、
Heroku+SendGirdを使ったメール送信機能の作成
前提条件
Herokuのアカウントを持っていること
開発環境でのメール送信機能があること
開発環境でのメール送信機能についてはこちら
Herokuへログイン
1 |
$ heroku login |
できない場合は
1 |
$ heroku login --interactive |
アプリケーションの作成
既にある場合は省略
アプリ名は設定しなかった場合は自動で決定
1 |
$ heroku create アプリ名 |
SendGridの導入
1 |
$ heroku addons:create sendgrid:starter |
本番環境でのメールの設定
config/environments/production.rb
1 2 3 4 5 6 7 8 9 10 11 |
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の取得
1 |
$ heroku config:get SENDGRID_USERNAME |
1 |
$ heroku config:get SENDGRID_PASSWORD |
USERNAME ・ PASSWORDの設定
1 |
$ heroku config:set SENDGRID_USERNAME="取得したSENDGRID_USERNAME" |
1 |
$ heroku config:set SENDGRID_PASSWORD="取得したSENDGRID_PASSWORD" |
注意
SendGridのUSERNAMEとPASSWORDの値を直接書き込まない
GitHubへプッシュした場合SendGridのアカウントが凍結される
Gitへコミット
Herokuへデプロイ
1 |
$ git push heroku master |
初めてデプロイする場合はこちらも確認
以上で作成完了