配置 postfix 仅从经过身份验证的人发送电子邮件并从任何地方接收

配置 postfix 仅从经过身份验证的人发送电子邮件并从任何地方接收

我在配置 postfix 以接收来自任何域的电子邮件时遇到问题,但只阻止本地主机中经过身份验证的用户的发件人

我的main.cf情况是:

mydomain = domainname
myhostname = mail.$mydomain
myorigin = /etc/mailname
smtpd_banner = $myhostname
biff = no
append_dot_mydomain = no
readme_directory = no
mydestination =
relayhost =
mynetworks = 127.0.0.0/8
mynetworks_style = host
mailbox_size_limit = 0
virtual_mailbox_limit = 0
recipient_delimiter = +
inet_interfaces = all
message_size_limit = 0

smtpd_helo_required = yes
smtpd_delay_reject = yes
disable_vrfy_command = yes
smtpd_sender_restrictions =     permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

在这种情况下,我可以从任何域名接收电子邮件,但无需经过身份验证即可从本地主机发送。

如果我将此行更改为:

smtpd_sender_restrictions = permit_sasl_authenticated,reject_unauth_destination

那么我无法接收来自其他域的电子邮件,并且出现错误,并且如果仅经过身份验证则可以从本地主机发送。554 5.7.1 <[email protected]>: Sender address rejected: Access denied

如何配置 postfix 以接收来自任何域的电子邮件并且仅在经过身份验证(包括本地主机)时允许发送?

答案1

仅引用我工作的 Postfix 配置:

smtpd_sender_restrictions =
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unauthenticated_sender_login_mismatch,
        permit

注意允许经过身份验证的用户使用他们希望的任何发件人地址发送邮件。如果您希望用户只能使用他们登录的电子邮件地址发送邮件,请使用reject_sender_login_mismatch

另请注意,您的配置不完整。您还需要其他几个指令来完成配置,主要是smtpd_recipient_restrictions

相关内容