【mail】postfixでメッセージ送信に失敗した時の設定
こんな枯れ切った物に対する需要は無いと思いますが、
postfixを利用していて一時的なエラーが起きた時に良い設定は無いかを調べていました。
下記にある通りexit 75を設定しておくと良いそうです。
終了ステータス 75 (EX_TEMPFAIL) で終了してメール配送を遅延、Postfix はメッセージを deferred メールキューに置き後で再び試行
exit 75はメッセージの受信に失敗した場合、sendmailの再配送キューにメッセージを格納する。そのためパイプで渡すと失敗時に機能します。
|| exit 75
.forwardに上記を追加しておけばおk
.forward の更新がアトミックな状態である事に注意します。
失敗してキューに滞留していればキューIDを調べて個別に送信すば良いはず。
- キューの状態を調べる
- 再配送を試みる
キューの内容を確認
$ postqueue -p
キューを指定して送信
$ postqueue -i ${queueId}
または全部再配送
$ postqueue -f
Presented by「瑣末な問題」