我正在尝试设置邮件服务器。使用 sasl 的 SMTP 身份验证出现问题。我使用 postfixadmin 创建邮箱,密码采用某种 md5 格式,postfixadmin config.inc.php:
$CONF['encrypt'] = 'md5crypt';
$CONF['authlib_default_flavor'] = 'md5raw';
sasl 的配置如下(/etc/postfix/sasl/smtpd.conf):
pwcheck_method: auxprop
auxprop_plugin: sql
sql_engine: mysql
mech_list: plain login cram-md5 digest-md5
sql_hostnames: 127.0.0.1
sql_user: postfix
sql_passwd: ****
sql_database: postfix
sql_select: SELECT password FROM mailbox WHERE username = '%u@%r'
log_level: 7
如果我想用密码进行身份验证(比如说从 Thunderbird),则无法进行身份验证。如果我使用 MySQL 的哈希密码,则可以进行身份验证并发送电子邮件。所以我认为问题出在哈希算法上。您知道如何设置 SASL(或 postfixadmin)以使其正常工作吗?我不想以纯文本形式存储我的密码...
答案1
auxprop 无法处理加密密码,您应该使用 PAM 身份验证机制和 pam_mysql 插件。