Ubuntu 8.04 上的 SMTP 消息速率控制,最好使用 postfix

Tim*_*Man 8 email postfix spam

也许我正在寻找一个错误,但我正在尝试设置各种 smtp 代理。我有一个后缀服务器,它接收服务器/客户端集合的所有电子邮件。他们使用智能主机 (relayhost=...) 将邮件转发到我们公司的 MTA。我想限制单个服务器可以中继的消息数量,以防止淹没公司 MTA。Postfix 有一个名为“anvil”的程序,它能够跟踪有关用于此类事情的邮件的统计信息,但它似乎没有被执行。我在启动 postfix 并从远程服务器通过它发送了许多消息时运行了“inotifywait -m /usr/lib/postfix/anvil”。inotifywait 表示从未运行过铁砧。任何人都得到了 postfix/anvil rate 控制来工作?

主文件

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
myhostname = site-server-q9
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relayhost = Out outgoing mail relay
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = 10.X.X.X
smtpd_client_message_rate_limit = 1
anvil_rate_time_unit = 1h
Run Code Online (Sandbox Code Playgroud)

master.cf 提取物

anvil     unix  -       -       -       -       1       anvil
smtp      inet  n       -       -       -       -       smtpd
Run Code Online (Sandbox Code Playgroud)

Tim*_*Man 7

最后,我使用了只做这种事情的 policyd。我将其配置为将单个 IP 地址限制为每小时不超过 10000 条消息和 1 GB。以下是为我自己写的文档的副本,以防有人发现它有帮助。


配置 postfix 和 policyd

安装软件包后,对其配置进行以下更改。在 /etc/postfix/main.cf 中添加以下行

smtpd_client_restrictions = check_policy_service inet:127.0.0.1:10031
Run Code Online (Sandbox Code Playgroud)

在 /etc/postfix-policyd.conf

  • 更改WHITELISTING=1WHITELISTING=0
  • 更改GREYLISTING=1GREYLISTING=0
  • 更改SENDERTHROTTLE=0SENDERTHROTTLE=1
  • 更改QUOTA_EXCEEDED_TEMP_REJECT=1QUOTA_EXCEEDED_TEMP_REJECT=0
  • 更改SENDER_QUOTA_REJECTION="Quota Exceeded." SENDER_QUOTA_REJECTION="Quota Exceeded, 10,000 messages/hour max!"
  • 更改SENDER_SIZE_REJECTION="Message size too big."SENDER_SIZE_REJECTION="Message size too big. 10Mb per message or 1 Gb/hour max!"
  • 更改SENDERMSGLIMIT=512SENDERMSGLIMIT=10000
  • 更改SENDERRCPTLIMIT=3600SENDERRCPTLIMIT=10000
  • 更改SENDERQUOTALIMIT=250000000 SENDERQUOTALIMIT=1000000000
  • 更改SENDERMSGSIZE=10240000SENDERMSGSIZE=50000000
  • 更改SENDER_INACTIVE_EXPIRE=31dSENDER_INACTIVE_EXPIRE=1h