2016-04-10 10 views
1

私は突然先週、それがGmailにメールを送信できなくなったとき、何年もの間、プロダクションでレール4アプリケーションを使用しています。rails mailerがGmailに送信できません。 sendgridで動作します

エラーメッセージは次のとおりです。

E, [2016-04-09T17:16:49.293552 #14465] ERROR -- : 2016-04-09T17:16:49+0000: [Worker(delayed_job host:ip-10-18-148-31 pid:14465)] Job Class#email_sample_complete (id=292861) FAILED (5 prior attempts) with EOFError: end of file reached

(セキュリティのために隠さ年/パスワードおよびドメインのために働いている)設定は次のとおりです。

ActionMailer::Base.smtp_settings = { 
    :enable_starttls_auto => true, 
    :address  => "smtp.gmail.com", 
    :port   => 587, 
    :domain   => "[email protected]", 
    :authentication => :plain, 
    :user_name  => "[email protected]", 
    :password  => "mypassword" 
} 

私は手動で資格情報をテストし、ことができましたそれらを使用してログインするため、変更されていません。

慌てて、私はsendgridを指すように電子メールサーバーと信用を変更し、それらの電子メールは通過しました。だから、gmailへの接続を除いてすべてが機能する。

コードの変更や展開は行っていません。安全であるように、以前は安全であることが判明していたコードの既知のバージョンを再デプロイし、Webサーバーを再起動し、すべてを実行させるためにdelayed_jobを再デプロイしました。喜びはありません。

私はエラーメッセージを尋ねました。一般的なコンセンサスは、これが電子メールサーバーがダウンしていることが原因であったため、次の日に古い設定をもう一度試しました。まだ動かない。

ここで私の頭を掻く。知られている作業環境の設定が突然コードの変更や環境の変更なしで動作を停止しました。 Google側で何か変わった?

答えて

0

溶液は構成であった。

私はから....

:domain   => "[email protected]", 

に....

:domain   => "gmail.com", 

ドメインを変更し、EOFエラーが消えました。 Googleは、ドメインをgmail.comにする必要がある側で変更を加えたに違いありません。 1年以上経っても構成が突然動作しなくなったもう一つの理由は考えられません。

1

グーグルはプレーンなユーザー名とパスワードを使ってSMTP認証をブロックしています。

はい、SendGridのようなトランザクション電子メール配信サービスに移行すると、AWS SESは良い動きになります。

関連する問題