はじめまして
私は現在、職業訓練校で主にJava,C言語を学んでいますが、独学でRailsを学習中です。
今回は、タイトル通りRailsチュートリアルにて躓いたポイントを投稿しようと思います。
※2/11現在 問題は解決していません。
11章 本番環境でメールが送信できない!
development環境におけるアカウント有効化はおそらく進みテストもエラーなくクリアすることができました。
11.4 本番環境でのメール送信の項で問題が発生しました。
リスト11.41: Railsのproduction環境でSendGridを使う設定
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
host = '<your heroku app>.herokuapp.com'
config.action_mailer.default_url_options = { host: host }
ActionMailer::Base.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => 'heroku.com',
:enable_starttls_auto => true
}
上記リストを参考に、
host = '<your heroku app>.herokuapp.com'
こちらの項目を https:から始まる自分のアプリのアドレスに変更
git & heroku にpush
$ git push
$ git heroku push
$ heroku run rails db:migrate
いざ、本番環境でユーザー登録!
※メールアドレスは切り抜いています。
すると
エラーしてしまいました。
試したこと
コードの見直しを行いおかしな箇所を探しましたが、これといったものは見つからず、
同じように躓いた人がいないか検索しました。
- 参考になった記事
- [Rails]HerokuのアドオンSendGridでメールが届かないときの対処法
- Ruby on Rails チュートリアル 第11章 アカウント有効化(AcctionMailer Activation)やSendGridの使い方など
とりあえずログ確認してみる
herokuのログを確認すると、
$ heroku logs
COMMITはできていることが確認できました。
更にログをたどると
2020-02-11T05:46:41.907827+00:00 app[web.1]: Welcome to the Sample App! Click on the link below to activate your account:
2020-02-11T05:46:41.907828+00:00 app[web.1]: </p>
2020-02-11T05:46:41.907828+00:00 app[web.1]:
2020-02-11T05:46:41.907829+00:00 app[web.1]: <a href="https://<アプリ名>.herokuapp.com/account_activations/ZbXtAXTWMPdPgdpu4EjcAQ/edit?email=<送信先アドレス>">Activate</a>
2020-02-11T05:46:41.907829+00:00 app[web.1]: </body>
2020-02-11T05:46:41.907829+00:00 app[web.1]: </html>
Activateリンクがあるのでそちらをクリック。
認証はクリアできました。
なぜメールが送れないのか※予想
どうやらherokuからSendGridを登録すると凍結されるらしい
herokuからSendGrid ページにアクセスするも
拒否されるのでおそらく凍結なのではと考えている。
SendGridユーザー登録して凍結解除の問い合わせしようと思います。
凍結解除で問題が解決されることを祈りつつ終わりとさせていただきます。
つたない文章ですがなにかの参考になれば幸いです。