《分享》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
♥順子老婆的網拍,請多關照∼
If you don't like something, change it.
If you can't change it, change your attitude.
Don't complain!
|