Postfix 允许本地用户和经过验证的外部用户发送邮件

Postfix 允许本地用户和经过验证的外部用户发送邮件

我目前在我的 VPS(CentOS 5.5)上安装了 Postfix,允许通过 MySQL 数据库对用户进行身份验证来发送 SMTP 邮件。我正在使用 Dovecot。

但是,任何使用“邮件”的程序或脚本都无法发送电子邮件。我认为这与我用于 Postfix 配置的设置有关。我承认在邮件服务器管理方面我是新手,但我认为我至少走在正确的轨道上。据我所知,我可能需要允许本地主机上的任何用户发送邮件,然后其他一切都需要 SASL 身份验证(如果可能的话)。

简而言之,我需要本地系统用户能够转发邮件,并且外部用户使用他们的电子邮件地址和密码通过数据库进行身份验证。我该如何在权限中设置这一点?

这是配置的权限部分:

# authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_client_restrictions = permit_sasl_authenticated permit_mynetworks
smtpd_recipient_restrictions =  permit_sasl_authenticated permit_mynetworks
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes

# tls config
# smtp_use_tls = yes
# smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom


# rules restrictions
# smtpd_client_restrictions = reject_rbl_client zen.spamhaus.org
smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_$
smtpd_sender_restrictions = reject_non_fqdn_sender, reject_unknown_sender_domain
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, re$
smtpd_helo_required = yes
unknown_local_recipient_reject_code = 550
disable_vrfy_command = yes
smtpd_data_restrictions = reject_unauth_pipelining

答案1

确保 mynetworks 包含 127.0.0.1。您可能希望将 permit_mynetworks 移至所有 smtpd_ 设置下的首位,这样您就永远不会触发本地身份验证...我不确定您是否需要这样做,但这是值得尝试的其他方法。

相关内容