如何摆脱“延迟(-52):重试时间尚未达到”exim4 日志?

如何摆脱“延迟(-52):重试时间尚未达到”exim4 日志?

我在 exim4 的主日志中有一个这样的日志。我对 exim4 所做的一切只是学习,所以所有邮件都是假的。现在我尝试管理这些经常出现的日志:

2016-12-20 14:28:01 1cJ2UW-0006Yq-3m == [email protected] R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached
2016-12-20 14:28:01 1cJ8rt-0001Ur-Qj == [email protected] R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached
2016-12-20 14:28:01 1cJ2YZ-0000W9-W5 == [email protected] R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached
2016-12-20 14:28:01 1cIsqP-0002Xn-KY == [email protected] R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
2016-12-20 14:28:01 1cJE0z-00028i-Ve == [email protected] R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached
2016-12-20 14:28:01 1cIrmt-0002Hz-Td == [email protected] R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
2016-12-20 14:28:01 1cIsS3-0002Rj-MM == [email protected] R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
2016-12-20 14:28:01 1cJ2X1-0000R4-EY == [email protected] R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached
2016-12-20 14:28:01 End queue run: pid=11801

既然我不需要它,该如何删除它?

答案1

有时您可能会注意到某些地址出现延迟错误:任何主机的重试时间都未达到。

1Ruz3Y-0005TQ-Ek == [email protected] R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host

因此,您需要找出用于管理 address.com 电子邮件的 smtp 服务器。为此 — 使用 host 命令或更高级的 dig,无论你最喜欢什么。应在您的邮件服务器上发出此命令:

host domain.com
domain.com has address X.X.X.X
domain.com mail is handled by 50 remote.smtp.server.

首先确保远程 smtp 服务器正在接受 25/tcp 上的连接并且运行时没有任何不可预测的错误。

telnet remote.smtp.server 25
Trying x.x.x.x...
Connected to remote.smtp.server.
Escape character is '^]'.
220 remote.smtp.server bla-bla-bla

下一步是整理 exim 重试数据库:

/usr/sbin/exim_tidydb -t 1d /var/spool/exim retry > /dev/null

在某些情况下你可能想要删除所有重试条目:

rm -rf /var/spool/exim/db/retry
rm -rf /var/spool/exim/db/retry.lockfile

来源 :https://linuxnlenux.wordpress.com/2013/08/11/exim-defer-53-retry-time-not-reached-for-any-host/

答案2

运行命令:

strings /var/spool/exim/db/retry

要查看 exim 无法访问哪些主机,您将获得如下输出:

No route to host
T:mail.siemens.com:138.162.19.16
Permission denied
T:mail.siemens.com:2a01:7a01::f05c:91cf:feb8:b2e1

修复错误,查看错误出在哪里。

确保它不是 DNS 旧缓存条目问题,要解决这个问题,请编辑文件/etc/resolve.conf并将以下行放在第一个条目之前的顶部nameserver

# File: /etc/resolve.conf
nameserver 8.8.8.8

这指示使用 google DNS,以便 exim 正确地进行检查。

额外的可选步骤,从 exim 队列中删除所有可能被冻结的消息:

 exiqgrep -i | xargs exim -Mrm

重启 exim:

 systemctl restart exim

相关内容