我尝试阻止垃圾邮件发送者的一些电子邮件地址,但此设置似乎没有任何效果:
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
命令行测试它是否有效。