如何限制 Postfix 的传出 SMTP 连接速率

如何限制 Postfix 的传出 SMTP 连接速率

我在虚拟机上运行了一个 Postfix 实例。如果我们每分钟的 SMTP 连接数超过阈值(例如 10),虚拟机提供商就会关闭我们的连接。通常我们一天可能会发送 1000 条消息,所以 10 条是可以的。但是它是一个 Mailman 服务器,所以峰值速率通常超过 10。然后端口 25 会被阻塞一段时间。这会产生积压。重试积压会导致连接数“爆发”,远高于 10。最终结果是,一旦我们被阻止,我们就会一直被阻止,直到有人手动干预。

“显而易见”的修复似乎是确保 postfix 保持在限制范围内 - 即出站连接限制。或者至少将运行的 smtp 传递进程数限制为 1。

有办法吗?

答案1

查看 Postfix 的“policyd”。这应该能够修复您的速率限制。话虽如此,每分钟 10 个 SMTP 连接似乎太低了,我会就此向提供商提出质疑(每小时 600 个可能比较合理)

答案2

您使用智能继电器吗?

main.cf 中有一个参数,称为

default_destination_concurrency_limit = 10

如果您使用智能继电器,它就可能完成这项工作。

另一个选项是在 master.cf 中设置:

smtp      unix  -       -       n       -       10       smtp

由于每个 smtp 进程只传递一封电子邮件,因此这会将出站连接的数量限制为最多 10 个。

相关内容