railsの本番環境でメールを送信できないので、メールを送信できるようにしたいです。
現在railsチュートリアルを進めています。本番環境にデプロイした際に以下の問題点が発生しました。
発生している問題
ブラウザ上に以下のメッセージが表示され、メールが送信できませんでした。
We're sorry, but something went wrong.
この際にherokuのログを確認したところ、以下のようなメッセージが出てきました。
Net::SMTPFatalError (550 The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved.
railsチュートリアルのヘルプページを参照した結果、SendGridからメールが送れない際の対処法が紹介されていたので、試してみました。
試したこと
- noreply@example.com を認証済みのメールアドレスに置き換える
- SendGrid を Mailgun アドオンに置き換える
1を試したのですが、HerokuのダッシュボードからSendGridのダッシュボードにアクセスする際にアクセスが拒否されていて、認証済みのメールアドレスが分かりませんでした。
2を試した際には、以下のようにターミナルにコマンドを打ち込むように書いてあったのですが、エラーが出てしまい、うまくいきませんでした。
ubuntu:~/environment/sample_app (master) $ heroku addons:create mailgun:starter Creating mailgun:starter on ⬢ <Herokuのアドレス>... ! ▸ An error was encountered when contacting the add-on partner to create mailgun:starter. Please try again later.
エラーメッセージを調べてみたのですが、私の調べた限りだと解決方法を見つけられませんでしたので、こちらで質問させていただくことにしました。
初めての投稿のため、不足している情報等あるかと思います。
その際にはお伝えいただければ追記致しますので、ご回答のほど宜しくお願い致します。
### ソースコード
//ファイルパス:sample_app/config/environments/production.rb config.action_mailer.raise_delivery_errors = true config.action_mailer.delivery_method = :smtp host = '本番環境のURL' 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 }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。