如何阻止Postfix接受邮件到[email protected]

我怎样才能阻止Postfix从外部接受邮件到本地用户@ my-FQDN?

$ hostname -f hostname.example.com 

Postfix正在接受my-FQDN上的任何本地用户的邮件。 因此,我们将使用[email protected]作为示例本地用户,我想停止从外部接收邮件。

我有一个非常基本的Postfix / Dovecot / SASL / LDA设置,但让我分享一些细节。

  • 通过以下方式接收虚拟本地域/用户的邮件:25
  • 虚拟用户发送邮件:通过Dovecot SASL进行身份validation

我已经尝试在/etc/aliases和Postfix的virtual_alias_maps.cf反转用户,但没有运气。 我在更新它们之后运行了newaliasespostmap

 #/etc/aliases: #root: [email protected] #/etc/postfix/virtual_alias_maps.cf: root [email protected] 

我想我有四(*更新)的select…

  1. 在postfix / main.cf中, mydestination 。 我很确定我需要在这里保留我的FQDN,所以我不认为这是一个好的select。 编辑:是的,虽然从mydestination中删除您的FQDN禁止外部世界发送邮件给本地用户,这不是正确的方法来禁用它,因为这软pipe其他的东西。
  2. 在postfix / main.cf中,是否有smtpd_recipient_restrictions设置禁用此? 我在文档中找不到一个。
  3. 希望有人读这个知道正确的方法。

这是我的Postfix main.cf的相关部分:

 myhostname = hostname.example.com mydomain = example.com mydestination = $myhostname, localhost.$mydomain, localhost smtpd_recipient_restrictions = reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unauth_destination, permit_mynetworks, permit 

这里是我的Postfix master.cf的相关部分:

 submission inet n - - - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_recipient_restrictions= reject_unknown_recipient_domain, reject_non_fqdn_recipient, permit_sasl_authenticated, reject 

PS这是如何从VirtualUserFlatFilesPostfix中采取了很多我的设置

你提到smtp_recipient_restrictions ,你真的尝试添加行check_recipient_access hash:/etc/postfix/recipient_access

把它作为reject_unknown_recipient_domain,之前的第一行reject_unknown_recipient_domain,然后在/etc/postfix/recipient_accessjoin这一行:

[email protected]拒绝

(不要忘记postmap /etc/postfix/recipient_access

顺便说一句,邮政局长地址应该始终可用,但我从来没有见过一个RFC说,根必须可用,虽然我没有阅读每一个RFC涉及SMTP。

只需从mydestination中删除$ myhostname并重新启动postfix