如何调试电子邮件传送延迟?

如何调试电子邮件传送延迟?

为了获得有关服务器上发生的某些事情的通知,我使用简单的 mailutils 命令@hourly执行cron

cat $file | mail -s "Subject" $receivers

其中$receivers是一些电子邮件地址的列表。有时,此解决方案工作得非常顺利,但是,大多数情况下,发送到所有电子邮件地址都会延迟特定的时间(约 30 分钟)。这个延迟时间总是相同的。

/var/log/mail.log我可以看到一堆这样的消息:

Mar 19 05:00:17 myserver postfix/smtp[21138]: connect to gmail-smtp-in.l.google.com[2a00:1450:400b:c02::1b]:25: Network is unreachable
Mar 19 05:00:47 myserver postfix/smtp[21137]: connect to mail.global.sprint.com[207.46.163.247]:25: Connection timed out
Mar 19 05:00:47 myserver postfix/smtp[21138]: connect to gmail-smtp-in.l.google.com[74.125.24.27]:25: Connection timed out
Mar 19 05:01:17 myserver postfix/smtp[21137]: connect to mail.global.sprint.com[207.46.163.170]:25: Connection timed out
Mar 19 05:01:18 myserver postfix/smtp[21138]: connect to alt1.gmail-smtp-in.l.google.com[173.194.65.27]:25: Connection timed out
Mar 19 05:01:18 myserver postfix/smtp[21138]: connect to alt1.gmail-smtp-in.l.google.com[2a00:1450:4013:c00::1b]:25: Network is unreachable
Mar 19 05:01:18 myserver postfix/smtp[21138]: connect to alt2.gmail-smtp-in.l.google.com[2a00:1450:4010:c0b::1b]:25: Network is unreachable 

^ 10 分钟后再次重复,20 分钟后再次成功。如果有任何关于可能导致此问题的想法,我将不胜感激。

答案1

由于某种原因,Postfix 无法连接到 Gmail 服务器。这可能是由于防火墙或路由问题造成的。尝试运行以下命令:

traceroute -T -p 25 <problematic server>

这应该可以准确地告诉您问题所在。当然,如果只会在问题发生时这样做,所以你可能需要尝试几次......

相关内容