我怎样才能阻止 Postfix 接受来自外界的本地用户 @ my-FQDN 的邮件?
$ hostname -f
hostname.example.com
Postfix 正在接受发往 my-FQDN 上任何本地用户的邮件。因此我们将使用[email protected]
我想停止从外部世界接收邮件的本地用户作为示例。
我有一个非常基本的 Postfix/Dovecot/SASL/LDA 设置,但让我分享一些细节。
- 接收虚拟本地域/用户的邮件:25
- 虚拟用户通过 Dovecot SASL 验证在 :587 上发送邮件
我尝试过逆转/etc/aliases
Postfix 中的用户virtual_alias_maps.cf
,但没有成功。我运行了新别名和后图更新它们之后。
#/etc/aliases:
#root: [email protected]
#/etc/postfix/virtual_alias_maps.cf:
root [email protected]
我想我还剩下四个*(更新)的选择......
- 在 postfix/main.cf 中,弄乱
mydestination
。我很确定我需要在这里保留我的 FQDN,所以我不认为删除它是个好选择。编辑:是的,尽管从中删除你的 FQDN我的目的地禁止外界向本地用户发送邮件,这不是禁用它的正确方法,因为这会影响其他事情。 - 在 postfix/main.cf 中,是否有禁用此功能的设置
smtpd_recipient_restrictions
?我在文档。 - 希望有人读到此文并知道正确的方法。
以下是相关部分我的 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。