每个连接的 postfix 交付次数

每个连接的 postfix 交付次数

希望您能帮助我解决这个问题。

我正在管理一个用于新闻通讯的 Postfix 服务器。最近,一个主要的收件人域更改了他们的策略,每个 smtp 会话/连接只接受一封电子邮件。为了遵守他们的政策,我发现 main.cf 中的以下设置很有用,因为它们涉及电子邮件传递的并发性,尽管它似乎没有帮助。

(我已测试过低至 1 的值)

  • 初始_目标_并发
  • 默认目标并发限制
  • smtp_destination_concurrency_limit

我遇到的错误是:dsn=4.4.2,status=deferred,以及一个链接告诉我每个 SMTP 连接发送一封电子邮件。

Postfix 版本:2.9.6

任何建议都将受到赞赏!

答案1

如果您遇到特定域要求较慢的传输,最简单的方法是设置自定义传输:

放置/etc/postfix/main.cf这两行(将其命名为您想要的,只要一致使用它即可):

smtp-slowdelivery       unix  -       -       n       -       -       smtp
-o syslog_name=smtp-slowdelivery

添加/etc/postfix/main.cf以下几行:

smtp-slowdelivery_destination_rate_delay = 12s
smtp-slowdelivery_destination_concurrency_limit = 1
smtp-slowdelivery_destination_recipient_limit = 1
smtp-slowdelivery_initial_destination_concurrency=1

将其添加到/etc/postfix/transport(您可能需要创建)

/\@thatdomain.com$/ smtp-慢速递送:

(替换thatdomain为您需要减慢交付速度的域)

对文件进行后期映射postmap /etc/postfix/transport

然后告诉 postfix 该文件是一个正则表达式:

添加/etc/postfix/main.cf

transport_maps = regexp:/etc/postfix/transport

然后运行postfix reload

然后您应该会在邮件日志中看到通过新传输方式发送的邮件。

答案2

对于其他任何人来说,下面的内容需要放在 /etc/postfix/master.cf 中,而不是 /etc/postfix/main.cf 中

这对于其他人来说可能很明显,但对于不熟悉 Postfix 的人来说,这会导致邮件停留在队列中

 smtp-slowdelivery       unix  -       -       n       -       -       smtp
 -o syslog_name=smtp-slowdelivery

相关内容