我可以使用 check_recipient_access postfix 选项阻止 postfix 发送到特定电子邮件地址吗?

我可以使用 check_recipient_access postfix 选项阻止 postfix 发送到特定电子邮件地址吗?

我尝试阻止垃圾邮件发送者的一些电子邮件地址,但此设置似乎没有任何效果:

smtpd_recipient_restrictions =
    check_recipient_access hash:/etc/postfix/bad_recipients,
    permit_sasl_authenticated,
    permit_mynetworks,
    ...

电子邮件仍被转发。这是我拥有的 bad_recipients 文件的示例:

# When updating, make sure to run this command once:
#    postmap hash:/etc/postfix/bad_recipients

[email protected] REJECT

当我向该电子邮件地址发送邮件时,它仍然会被转发。

alexis $ mail -s "Verify block" [email protected]
Cc:

Not much of interest here.
^D

当我查看日志时,我看到如下内容:

3月5日20:02:37做postfix/smtp[8882]:E827740ADA:to=,relay=mail.example.com[10.0.0.13]:25,delay=2.3,delays=0.03/0.01/1.8/0.41,dsn =5.7.1,status=bounced(主机mail.example.com[10.0.0.13]说:550 5.7.1没有这样的用户!(回复RCPT TO命令))

注:我修改了域名和IP地址。

中继到外部源清楚地表明我的smtpd_recipient_restrictions设置没有阻止任何内容。我认为它要么只接受域(尽管我认为文档示例在这里否则的话)或者我有其他东西告诉 postfix 忽略我的收件人限制列表。你知道如何让这个功能发挥作用吗?

答案1

好的!我找到了答案

事实上,它仅在用户尝试使用 SMTP 发送电子邮件时才起作用。因此,当使用诸如sendmail或 之类的工具时mail,postfix 会忽略该条目,因为没有RCPT TO <address>要检查的内容。这对于我的一些工具来说是一个问题,幸运的是,我现在想要阻止的工具使用 SMTP,所以我可以解决这个问题。只是我无法使用mail命令行测试它是否有效。

相关内容