我确实在 Postfix 配置中添加了新的慢速传输,但这似乎不起作用。消息在慢速传输中正确传递,但它们不受速率限制。
目前,我已经在 master.cf 中进行设置:
slow unix - - n - 1 smtp
-o default_destination_concurrency_limit=1
-o initial_destination_concurrency=1
-o smtp_destination_concurrency_limit=1
-o in_flow_delay=2s
-o syslog_name=slow
知道为什么我的消息没有速率限制吗?
答案1
您现在的配置只会确保您只向每个目的地同时发送一次。它实际上不会限制任何事情。我认为添加此行可能main.cf
会实现您想要的效果:
slow_destination_rate_delay=2s
这将告诉队列管理器在每次向同一目的地的单独交付之间插入指定的延迟。由于您没有修改default_destination_recipient_limit
其默认值,因此它应该将延迟应用于每个收件人域。因此,这应该要求每次向传输图中列出的域交付之间有 2 秒的延迟。
过去我不得不这样做时,我没有使用备用传输机制。由于我只关心每个唯一域的传输速度,所以我只需将这些行添加到main.cf
:
smtp_destination_concurrency_limit = 1
smtp_destination_rate_delay = 1s
因此,如果有针对 30 个不同域的邮件被注入,它可能会尝试同时向所有 30 个域发送一条消息,但每次发送的消息不会超过一条,example.com
而且发送速度不会超过每秒 1 条example.com
。