如何阻止 Postfix 接受发送至 [email protected] 的邮件

如何阻止 Postfix 接受发送至 [email protected] 的邮件

我怎样才能阻止 Postfix 接受来自外界的本地用户 @ my-FQDN 的邮件?

$ hostname -f
hostname.example.com

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

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

  • 接收虚拟本地域/用户的邮件:25
  • 虚拟用户通过 Dovecot SASL 验证在 :587 上发送邮件

我尝试过逆转/etc/aliasesPostfix 中的用户virtual_alias_maps.cf,但没有成功。我运行了新别名后图更新它们之后。

#/etc/aliases:
#root: [email protected]

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

我想我还剩下四个*(更新)的选择......

  1. 在 postfix/main.cf 中,弄乱mydestination。我很确定我需要在这里保留我的 FQDN,所以我不认为删除它是个好选择。编辑:是的,尽管从中删除你的 FQDN我的目的地禁止外界向本地用户发送邮件,这不是禁用它的正确方法,因为这会影响其他事情。
  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 以下是我的许多设置的 HowTo 参考资料:虚拟用户FlatFilesPostfix

答案1

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

答案2

您提到smtp_recipient_restrictions,您是否实际尝试过添加该行check_recipient_access hash:/etc/postfix/recipient_access

将其放置为第一行,reject_unknown_recipient_domain,然后/etc/postfix/recipient_access 添加以下行:

[电子邮件保护]拒绝

(别忘了postmap /etc/postfix/recipient_access

顺便说一句,邮政局长地址应该始终可用,但我从未见过 RFC 说根必须可用,尽管我还没有阅读与 SMTP 相关的每一个 RFC。

相关内容