如何根据发信地址或者收信地址来拒绝邮件

2024年11月11日 作者 unix2go

如果你使用Rspamd之类的反垃圾软件,那么设置发信地址(sender)或者收信地址(recipient)来拒绝电子邮件,是很容易的事。如果你没有使用这类软件,那么在MTA里也可以设置。如下是postfix的设置案例。

拒绝某些发信地址,或者发信域,main.cf配置案例如下。

smtpd_sender_restrictions = 
  permit_mynetworks, 
  permit_sasl_authenticated, 
  reject_unknown_client_hostname, 
  reject_unknown_sender_domain, 
  hash:/etc/postfix/sender-access

/etc/postfix/sender-access文件包含如下内容:

user@foo.com  reject
bar.com  reject

拒绝某些收信地址,则在main.cf里采用如下配置。

smtpd_recipient_restrictions =
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unauth_destination,
   check_recipient_access hash:/etc/postfix/recipient_access

/etc/postfix/recipient_access文件包含如下内容:

user@foo.com  reject

最后,postmap sender-access和recipient_access,再reload一下postfix就可以了。

对于被拒绝的信件,退信提示类似如下:

554: 5.7.1 <user@foo.com>: Recipient address rejected: Access denied