我们有一个服务器,负责向订阅者发送每周的新闻通讯,为了防止像 Hotmail 或 Yahoo 这样的人因为同时发送太多电子邮件而阻止我们,有没有办法可以错开电子邮件,或者限制从 Postfix 发出的电子邮件的速率?
请记住,我不希望邮件服务器停止排队邮件或接受新消息,如果每个目标域/ IP 地址有超过 3-4 条消息,则只需推迟传递,或类似情况。
笔记:我不想要发件人节流阀,如类似问题中所述,这里。我更想寻找一个收件人限制器,但还没有找到如何使用 PolicyD 或 Anvil 服务来实现这一点,并且想知道是否有其他人完成了这样的任务。
答案1
你可以使用死账技巧:
主文件:
transport_maps = hash:/etc/postfix/transport
deadbeats_destination_concurrency_limit = 50
master.cf:
deadbeats unix - - n - - smtp -o smtp_connect_timeout=5 -o smtp_helo_timeout=5 smtp_connect_timeout=2
运输.cf:
hotmail.com deadbeats:
yahoo.com deadbeats:
earthlink.net deadbeats:
freemail.com.au deadbeats:
答案2
应该读:
deadbeats unix - - n - - smtp
-o smtp_connect_timeout=5
-o smtp_helo_timeout=5
-o smtp_connect_timeout=2
你应该重新启动 Postfix
答案3
为了补充 rkthkr 的帖子,您需要在传输文件上运行 postmap (人力運輸(5))
postmap /etc/postfix/transport.cf
答案4
我很确定 rkthr 建议的 master.cf
deadbeats unix - - n - - smtp -o smtp_connect_timeout=5 -o smtp_helo_timeout=5 smtp_connect_timeout=2
错误地将“smtp_connect_timeout”参数列出两次。如果出于某种原因您想将其列出两次,则需要另一个“-o”,如 user40991 的回答中所述。