すべActionMailer raise_delivery_errors trueまたはfalseに生まれるだろうと思っています。

StackOverflow https://stackoverflow.com/questions/1325340

質問

Trueの場合で送信エラーメッセージはユーザーが行います。Falseの場合配送の誤り見はあると思います。

何がそうすることによって対応す。

役に立ちましたか?

解決

チャンスがかりにくい運送誤りのメーラーのライフサイクルになっています。

でおすすめのいずれか

  • raise_delivery_errors=true

    のエラーや何らかのフィードバックをユーザに

  • raise_delivery_errors=false#わからないだものだけを無視し、失敗

によってはほとんどはメーラーが選択の一つ。

他のヒント

私達はちょうど生産にアプリを入れて、私たちは、メールを送信しようとすると、私たちのISPのメールサーバが頻繁に「451スプールビジー」エラーを返します。

どちらの答えは、私たちのためによかった:我々はユーザーにエラーを返す場合、我々は彼らに私たちのインフラの問題に渡しています。私たちがいない場合、彼らは何でも/招待状/確認/通知を取得しない、と誰も理由を知りません。

その代わり、我々はdelayed_jobを設定することを決めた、と常にそれを介してメールを送信します。それは自動的に再試行、およびメッセージを積み上げている場合、我々は(データベース内のジョブキュー表から)見ることができます。 (あまりにも、セットアップするために本当に簡単だった - 最も難しい部分は、ワーカースレッドが実行されていたことを確認した、それが私たちのMONIT構成に簡単に追加しました。)

(ボーナス:ここで私は生産にメールを遅らせるために書いた初期化子だが、それでも開発およびテストに直接送信: http://gist.github.com/178125する

そうでない場合(あなたは)配信が失敗したか、メールは単に迷惑メールフォルダに貼り付けたかどうかはわかりませんので、あなたは、少なくともユーザーをさせなければならない(と自分では)何かが間違っていたことを知っています。

あなたは多くのエラーを取得しない場合、あなたはちょうどそれがユーザーのために少し不快なことができるが、500エラーは、通過させることができます。より良いキャッチ&例外をログに記録し、ユーザーの再試行をさせることです。

電子メールが正常に(ちょうど約必ず起こるはずである)後置に送信することができます場合は、ローカルサーバー上のPostfixを実行する場合は、

は、その後、問題はなくなります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top