我遇到了一点问题;我已将 postfix 配置为使用 dovecot 进行 SMTP AUTH,因此我必须在 main.cf 文件中指定 dovecot 身份验证。问题是,我还需要向我的智能主机进行身份验证才能进行传出 SMTP 中继。我似乎无法同时完成这两项工作。我可以配置我的智能主机,也可以配置 dovecot auth。
main.cf 文件:
relayhost = relay.jangosmtp.net:2525
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_passwd
smtp_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
smtpd_tls_key_file = /etc/postfix/certs/key.pem
smtpd_tls_cert_file = /etc/postfix/certs/cert.pem
我尝试将两者结合在一起,但 postfix 不会通过智能主机发送邮件,尽管它仍会对 SMTP 提交用户进行身份验证。
maillog 给出以下错误:
Sep 16 23:59:00 hg-gv postfix/smtp[16631]: warning: unsupported SASL client implementation: dovecot
Sep 16 23:59:00 hg-gv postfix/smtp[16631]: fatal: SASL library initialization
这是有道理的,但我需要启用 dovecot 来验证 SMTP 用户。
我不知道该怎么办。
答案1
笔记:smtp != smtpd
- smtp 充当smtp 客户端习惯发送电子邮件
- smtpd 充当smtp 服务器习惯于接收电子邮件
不支持带有 dovecot 的参数smtp_sasl_type
。也许你的意思是smtpd_sasl_type = dovecot
相反。