我的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