我如何根据'to'地址来过滤和拒绝postfix中的邮件

我的CentOS服务器仅configuration为发送邮件。 我需要一个filter来拒绝针对所选目的地的邮件。 例如,如果我testing

> mail -s "test" [email protected] 

我希望这被拒绝,不发送。 我已经探究过了

smtpd_recipient_restrictions

国旗[和其他],但我一直无法得到这个工作。 日志仍显示邮件已发送并从队列中删除。

在main.cf文件中,在smtpd_recipient_restrictions下,我有:

 > check_sender_access hash:/etc/postfix/maps/access_sender 

例如,我有

 @trash.com REJECT 

我想补充说,这个服务器中继邮件到另一个,但我希望我可以过滤不需要的邮件之前中继到主机。 请帮忙。 谢谢

check_sender_access选项仅适用于“发件人”地址。 要根据“收件人”地址进行过滤,您可以通过以下两种方式之一进行此操作。


如果您只想过滤“收件人”地址,只需将check_sender_access更改为check_recipient_access并保留当前的散列文件。


一个更可扩展的过滤方式是通过头文件。 将以下内容添加到main.cf文件中:

 header_checks = regexp:/etc/postfix/header_checks 

然后在/etc/postfix/header_checks创build以下文件:

 /^To:.*[email protected].*$/ DISCARD blocked /^To:.*[email protected].*$/ DISCARD blocked /^To:.*[email protected].*$/ DISCARD blocked /^To:.*[email protected].*$/ DISCARD blocked 

并重新启动Postfix。

注意DISCARD将仍然显示发送信息,但是信息将被默默丢弃。 如果要强制消息被反弹,请使用REJECT


参考文件:

http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions http://www.postfix.org/header_checks.5.html