RedHatのOpenShift上で実行されているRuby on Rails(v4.1.5)アプリケーションがあります。 私はMandrillからSendGridに切り替える途中でした。トランザクションメールは、OpenShiftの本番環境のrailsサーバから送信されませんでしたが、開発には問題ありません
ActionMailer::Base.smtp_settings = {
:address => "smtp.sendgrid.net",
:port => 587,
:authentication => "plain",
:domain => ENV["DOMAIN_NAME"],
:enable_starttls_auto => true,
:user_name => ENV["SENDGRID_USERNAME"],
:password => ENV["SENDGRID_PASSWORD"]
}
そして私は私が前にやったのと同じ方法actionmailerの使用を継続することができます:開発では、私は私のdevelopment.rb設定ファイルに以下を追加することができました。私はそれをローカルでテストし、電子メールを受け取り、ヘッダーはsendgridを介して来たことを示しました。
次に、同じコードをproduction.rbに追加し、OpenShiftにデプロイしました。上記のコードで使用されている新しいSENDGRIDユーザー名とパスワード環境変数を追加し、OpenShiftで正しく設定されていることを確認しました。
しかし、私がテストしたとき、ログファイルは正しい電子メールアドレスに電子メールを送信したが、SendGridダッシュボードには表示されず、電子メールを受信していないと言います。
誰かがOpenShiftの他のログファイルについて知っていますか?私はapp-root/runtime/repo/log/production.logだけを見ました。
上記のenable_starttls_autoフィールドを削除しようとしましたが、何も変更されませんでした。
この問題をどのようにデバッグできますか?私はそれがOpenShift側かSendGrid上にあるかどうかわかりません。
で無効であるかどうかをテストすることができます。 – bwest
SendGridとMandrillのポート番号は同じです(587)。それは何も変えずにマンドリルと一緒に働いた。 –
私はSendGridの代わりにSendInBlueを使用しようとしました。ここでも開発はローカルで行われましたが、OpenShiftのプロダクションでは動作しません。だから、それは問題がどこにあるのかと思う。 –