Ruby on Rails

トップ > チップス > Ruby on Rails
2016-01-01, rails ruby

ActionMailer.deliver_nowがエラーを返さない

といっても、例えば以下のようにメールアドレスが明らかに間違っている場合などには例外がスローされます。しかし、この例外、config.action_mailer.raise_delivery_errorsの値がtrueだろうがfalseだろうが同じように返ってくるんですよね(「deliver_now!」で抑制できるかもしれませんが、試していません)。

550 5.1.1 <invalidaddress>: Recipient address rejected: User unknown in local recipient table

公式ドキュメントには以下のような記述がありますが、この「設定」とやらが何を意味するのかという肝心の部分がみあたりません。

raise_delivery_errors only works if the external email server is configured for immediate delivery.

普通にpostfixあたりを使っていれば、bouncedやdeferredが確定するのは、キューに溜まったメールが何度か再送をトライして…と気長な話になるので、ここで例外や戻り値として配送ステータスが得られるというのも変な話ではあります。そうすると、この設定値が意図するところは何よ?という話になってモヤモヤしています。というわけで、元日早々にstack overflowで質問投稿初めしてみました。

参考URL

この記事は役に立ちましたか?