Postfix限制外发邮件


12

我需要Postfix以一定速率发送传出消息(从本地PHP)。说120秒内收到一封邮件。任何超出此速率的消息都应排队(延迟)并在以后发送。

策略不是我想要的。我不需要限制发送的邮件总数。我需要在发送的任何两条消息之间暂停一下(120秒)。

尝试了此配置,但不起作用:

initial_destination_concurrency = 1
default_destination_concurrency_limit = 1
default_destination_rate_delay = 120
default_destination_recipient_limit = 1
default_process_limit = 1

有什么建议么?

Answers:


7

你需要设置

default_destination_recipient_limit = 2

而不是1。因为如果设置为1,则限制将仅适用于同一收件人,不适用于域。



2

您可以限制出站电子邮件:

default_destination_rate_delay = 1s

Postfix将在每个消息到同一接收域之间增加一个延迟,延迟为1秒。默认值为0s。


0

当您说上述配置不起作用时,它是否不适用于同一目的地或不同目的地?

就一个建议而言,编写一个开/关iptables规则以阻止到端口25的传出连接是相当琐碎的。这是我的下一个建议。


即使对于相同的电子邮件地址也无法使用。在大约30秒内,将100条消息发送到一封特定的电子邮件。
谢尔盖·科瓦廖夫

0

减慢客户端发送邮件的速度

smtpd_client_connection_rate_limit = 100

smtpd_client_message_rate_limit = 100

smtpd_client_recipient_rate_limit = 200

smtpd_client_new_tls_session_rate_limit = 100

看一下这个


不行 我需要一个非常低的价格。像这样:blah_blah_rate_limit = 0.01您建议的命令似乎是用于传入邮件,而不是传出邮件。
谢尔盖·科瓦廖夫


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.