Postfix smtp 中继与 mysql 身份验证。如何操作?

Postfix smtp 中继与 mysql 身份验证。如何操作?

我有一个 Centos 5 邮件服务器,其中安装了 postfix 和 dovecot(+ postfix admin)。Dovecot 身份验证通过 mysql 数据库(使用 postfix admin 更新)。密码存储在 md5 中。

现在我的 smtp 服务器已关闭中继,我想为通过 postfix admin 创建的邮箱/用户打开它。他们应该输入我通过 postfix admin 创建的相同用户名/密码,才能通过我的 smtp 服务器发送电子邮件。

我应该从哪里开始呢?

请在评论中告诉我您需要什么信息,我会提供。

答案1

您可以轻松地将 postfix 与 dovecot sasl 集成,并将 dovecot 与 MySQL 连接起来。请看:http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASLhttp://workaround.org/ispmail

我成功使用 postfix+dovecot sasl 进行密码文件验证:

dovecot 配置文件:

protocols = none
listen = 127.0.0.1
first_valid_uid = 89
auth_verbose = yes
auth default {
  mechanisms = plain login
  passdb passwd-file {
    args = /etc/postfix/smtpd.auth.passwd
  }
  userdb static {
    args = uid=89 gid=89 home=/var/mail/null/
  }
  user = root
  count = 5
  socket listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}

Postfix cfg 的一部分:

smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        reject

# postfix-dovecot SASL options
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
# report sasl login name in Received: message headers
smtpd_sasl_authenticated_header = yes

# TLS/SSL configuration
smtpd_tls_cert_file = /etc/postfix/ssl/server-cert.pem
smtpd_tls_key_file = /etc/postfix/ssl/server-key.pem
###cat server_cert.pem intermediate_CA.pem > server.pem
#smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_use_tls = yes

相关内容