Postfix 允许使用用户名和密码进行中继

Postfix 允许使用用户名和密码进行中继

我几乎拥有 Postfix 的默认配置

如何配置 Postfix 以在从“mynetworks”IP 以外的其他 IP 转发邮件之前询问用户名/密码?

非常感谢

答案1

因此,postfix 上的 SASL 配置起来很麻烦。

神奇的线条是:

# main.cf
# In each of these:
smtpd_*_restrictions = permit_mynetworks, permit_sasl_authenticated, ...
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients = yes

您需要 TLS 来确保数据安全,文件是标准的 SSL 密钥对:

smtpd_tls_cert_file=PEM-FILE-NAME
smtpd_tls_key_file=KEY-FILE-NAME
smtpd_use_tls = yes

您还需要监听 SMTP 提交端口,这需要类似以下内容:

submission inet n       -       -       -       -       smtpd
  -o smtpd_enforce_tls=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

实际上,配置 SASL 后端高度依赖于您的身份验证源,因此我需要信息来提出建议。

答案2

您正在寻找的是具有 SASL 身份验证的 Postfix。您将需要 Cyrus SASL 库来验证您的用户,但也可以使用 dovecot 来实现这一点。

Dovecot 是我的最爱,无论如何,您很可能都需要 POP3/IMAP(和 LDA)服务。使用 dovecot,可以非常轻松地根据与 POP3/IMAP 用户相同的数据库验证您的用户。Postfix.org 有一个关于如何使用 Dovecot / Cyrus 设置 Postfix / SASL 的指南:http://www.postfix.org/SASL_README.html

相关内容