如何在 Postfix 中阻止具有随机 TLD 的域名?

如何在 Postfix 中阻止具有随机 TLD 的域名?

有人能告诉我如何拒绝所有具有特定名称的域名,而不考虑 TLD 吗?我想阻止来自名为 的域名的所有邮件bulksender,例如bulksender.combulksender.orgbulksender.bizbulksender.vn

我有一个 postmap 文件client_checks.postmap,其中包含main.cf以下内容:

check_client_access hash:/etc/postfix/client_checks.postmap

在该文件中我尝试过:

bulksender. REJECT 550 5.1.0 Go away!

但它没有起作用。

是否有类似的东西*@bulksender.*可以阻止所有名为 bulksender 的域名,无论它们具有哪个 TLD 结尾?

答案1

后缀PCRE 支持允许使用正则表达式来验证发件人地址。

smtpd_recipient_restrictions = check_sender_access pcre:/etc/postfix/sender_access 

我有用过的阻止整个顶级域名

/\.icu$/ 554 https://blocked.icu/

但它也应该符合你的要求:

/@bulksender\./ 554 Go away!

/\100bulksender\./ 554 Go away!

要包含这些域的所有子域:

/@.*\.?bulksender\./ 554 Go away!

请注意,这check_sender_access使得这发件人限制,但我故意用它来smtpd_recipient_restrictionsHELO使其仅在完整的、MAIL FROM和命令集之后触发RCPT TO。这样,如果出现问题,日志就不会缺少收件人的信息。

不会check_client_access检查电子邮件地址,但客户连接到您的 SMTP 服务器:

check_sender_access type:table

搜索指定 访问(5)数据库中的MAIL FROM 地址、域、父域或localpart@,并执行相应的操作。

check_client_access type:table

在指定的访问数据库中搜索客户端主机名、父域、客户端 IP 地址或通过剥离最低有效八位字节获得的网络。请参阅 访问(5)手册页了解详细信息。

相关内容