2016-04-09 2 views
0

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上にあるかどうかわかりません。

+0

で無効であるかどうかをテストすることができます。 – bwest

+0

SendGridとMandrillのポート番号は同じです(587)。それは何も変えずにマンドリルと一緒に働いた。 –

+0

私はSendGridの代わりにSendInBlueを使用しようとしました。ここでも開発はローカルで行われましたが、OpenShiftのプロダクションでは動作しません。だから、それは問題がどこにあるのかと思う。 –

答えて

0

この記事は役に立ちます。私はRubyの専門家ではないので、私は本当に助けることができません。

https://developers.openshift.com/external-services/sendgrid.html

私たちはopenshiftとsendgridを使用して、ユーザーの多くを持って知っています。ここで

は、PHPコードのレポである - 私は

https://github.com/sendgrid/openshift-sendgrid-php

+0

私はそれをすべてやっています。 ActionMailer in Rails 4. ActionMailerは、彼らが言及しているMail gemを使用しています。私はActionMailerを使ったときの設定を示す他のSendGridドキュメントも見つけました。 –

関連する問題