我有一个 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/PostfixAndDovecotSASL 和http://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