PostFix 发送延迟,日志中有许多“(队列活动)”消息

Ext*_*uce 2 postfix logging

我们在 CentOS 服务器上使用 postfix 来接受传入的邮件,然后进行一些过滤,然后将消息发送到我们将在那里提取邮件的真实邮件服务器。postfix 服务器在尝试发送到我们的真实邮件服务器时有时会出现很长时间的延迟。我们将看到这样的交付日志:

Sep 01 10:09:52 <hostname> postfix/pickup[18057]: 4mGC2s3EdYa3LNN4: uid=12345 from=<sender-email> orig_id=4oGC2h1ZU4a3LNLd
Sep 01 10:09:52 <hostname> postfix/cleanup[28788]: 4mGC2s3EdYa3LNN4: message-id=<id>
Sep 01 10:09:53 <hostname> postfix/qmgr[28730]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:12:44 <hostname> postfix/qmgr[24361]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:15:49 <hostname> postfix/qmgr[20098]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:17:50 <hostname> postfix/qmgr[29129]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:20:09 <hostname> postfix/qmgr[30381]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:22:05 <hostname> postfix/qmgr[15028]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:25:11 <hostname> postfix/qmgr[12533]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:28:33 <hostname> postfix/qmgr[30857]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:30:16 <hostname> postfix/qmgr[21858]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:32:41 <hostname> postfix/smtp[26435]: 4mGC2s3EdYa3LNN4: to=<user@example.com>, relay=server.example.com[x.x.x.x]:25, delay=1379, delays=1234/132/3.5/9.6, dsn=2.0.0, status=sent (250 OK)
Sep 01 10:32:41 <hostname> postfix/qmgr[12857]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Run Code Online (Sandbox Code Playgroud)

此时我们还无法发现“(队列活动)”消息在这种情况下的含义。“(队列活动)”消息的原因是什么,为什么会导致消息延迟超过 1000 秒?

pma*_*kis 6

此时我们还无法发现“(队列活动)”是什么

Postfix 维护待处理邮件的队列,“queue active”表示队列中有邮件。

要查看排队邮件问题:

sudo mailq
Run Code Online (Sandbox Code Playgroud)

或者

sudo postqueue -p
Run Code Online (Sandbox Code Playgroud)

“(队列活动)”消息的原因是什么。

由于传递错误,消息已排队。此类错误可能是:DNS 错误、邮箱已满或邮件收件人不存在。

为什么这会导致消息延迟超过 1000 秒

队列时间在 main.cf 文件中配置。根据后缀文档

尝试传递延迟消息之间的最短时间;在 Postfix 2.4 之前,默认值为 1000s。

如果 1000 秒对您来说太长,您可以更改计时器。我建议您在进行任何更改之前阅读整个 postfix调整指南

最后,您可以使用以下方法刷新队列(强制后缀立即处理队列)

sudo postqueue -f
Run Code Online (Sandbox Code Playgroud)

或者

sudo postfix flush
Run Code Online (Sandbox Code Playgroud)

  • 您不需要增加详细程度。默认设置可以很好地解决这些错误。日志文件中有什么? (2认同)