Shunze 學園 (http://www.shunze.info/forum/index.php)
|- Sophos XG (http://www.shunze.info/forum/board.php?boardid=36)
|-- 《分享》routing defer (-51):retry time not reached (http://www.shunze.info/forum/threadid.php?boardid=36&threadid=2115)


作者: shunze 發表時間: 2023-02-10, 17:08:

《分享》routing defer (-51):retry time not reached

最近客戶遇到一個奇怪的問題,當XG以內建的MTA寄信時,總會卡在Mail Spool中,
非得要在Mail Spool中勾選卡住的郵件,按下retry,
然後...
卡住的郵件就能成功送出了!!

郵件卡住的錯誤訊息如下。

routing defer (-51) DT=0.000s:retry time not reached


於此狀態下,即便等了幾天,卡住的郵件還是不會送出;
怪的是按下retry,卡住的郵件立馬就送出去了...

即使刪除Mail Spool中所有卡住的郵件,然後再測一次,結果還是一樣...
這到底是怎麼一回事啊?


開case給原廠處理也沒用,拖了幾天還是沒有進度。
最後在討論區中發現一篇有效的處理方法。

該文的作者發現,XG做為MTA時,並不是透過smtpd服務,而是exim服務。
而exim服務卡住時,就必需透過以下advanced shell指令,清空卡住的郵件才能根本解決問題。
# service smtpd:stop -ds nosync
200 OK
# exim -bp | awk '{print $3}' | while IFS= read -r line; do
> exim -Mrm $line
> done
下完done後,就會花點時間去刪除卡住的郵件。
# rm /sdisk/spool/output/db/*
# service smtpd:start -ds nosync
200 OK


清除exim卡住的郵件後,XG的MTA果然能夠成功的寄信出去了∼


PS.
開case給原廠,原廠support後來提出的解決方式如下,一併提供給大家參考。
rm -rf /var/spool/output/db/retry*


參考資料
MTA troubleshooting guide

Powered by: Burning Board 1.1.1 2001 by WoltLab
Taiwan Translation by Achi