我一直使用 POSTFIX 邮件服务器接收邮件。现在有些垃圾邮件发送者不断发送垃圾邮件。我有个主意可以阻止每天发送邮件超过 100 封的 IP 地址。在 POSTFIX 或 shell 脚本中可以实现吗?请告诉我?
答案1
根据 Postfix 文档,您正在寻找的是Postfix SMTP 中继和访问控制, 具体来说smtpd_客户端限制
Postfix 文档对于新手来说可能有点晦涩难懂。有一些指南可以帮助展示如何使用 Postfix 的黑名单和白名单(我在下面重现了该指南的部分内容)。
基本思路是,首先,设置一个 client_checks 文件。接下来,使用 postmap 对该文件进行哈希处理;这可以提高性能。
第三,在您的文件中/etc/postfix/main.cf
添加对哈希的引用。
该文件/etc/postfix/client_checks
将包含如下内容:
# Restricts which clients this system accepts SMTP connections from.
example.com REJECT No spammers
.example.com REJECT No spammers, from your subdomain
123.45.67.89 REJECT Your IP is spammer
123.45.6.0/24 REJECT Your IP range is spammer
32.1.98.76 OK
example1.com OK
接下来,你将运行postmap /etc/postfix/client_checks
编辑main.cf
文件以添加对客户端检查的引用:
smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/client_checks
重新启动 postfix 并测试是否正常运行。理想情况下,您需要从白名单 IP 地址和黑名单 IP 地址进行测试。如果是我,我会暂时将一个已知 IP 地址添加到客户端检查中,并确认来自该主机的邮件被拒绝,然后在client_checks
我确信检查正常后将其删除。