由于安装的比较匆忙,邮件服务器按照常规的安装好了,基本测试也OK。但是突然的发现日志有好多报错。而且部分使用OUTLOOK客户端无法使用验证功能,日志一直报
Mar 20 12:10:31 newmailsystem postfix/smtpd[32011]: SQL engine 'mysql' not supported
Mar 20 12:10:31 newmailsystem postfix/smtpd[32011]: auxpropfunc error no mechanism available
我又仔细认真的测试了几次,自己勾上那个我的服务器需要安全验证功能。结果还是真的没办法通过。
一直提示让你输入密码的提示。还真是奇怪啊,赶紧将MAIL.CF里面的验证功能取消掉。
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
这些全给注释掉。再postfix reload。结果就可以发了。但是没有了验证功能。其实我自己不太喜欢开通这个功能。因为很容易被黑掉。但是程序有些东西必须得使用到这个功能。没有办法直接从SASL着手。
重新安装一次sasl看。提示不支持就让他支持看
./configure --enable-plain --enable-cram --enable-digest --enable-login --enable-sql --disable-anon --disable-ntlm --disable-gssapi --disable-krb4 --disable-otp --disable-srp --disable-srp-setpass --with-mysql=/usr/local/mysql --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql --with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket
make
make install
安装完后。再次重新启动postfix .. 可是问题依旧是这样。难怪是POSTFIX不支持么。将POSTFIX也编译了一次方法如下:
make tidy
make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/local/include/sasl' 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lm -lz -L/usr/local/lib -lsasl2'
make
make install
再次测仍然无法通过
赶紧GOOGLE一下,在GOOGLE上找了半天,也有不少人遇到这样的情况。自己认真想了想。因为认证是通过couier-authlib的。根本没必要在sasl加上MYSQL.所以就直接重新再次编译SASL
./configure --enable-plain --enable-cram --enable-digest --enable-login --disable-anon --disable-ntlm --disable-gssapi --disable-krb4 --disable-otp --disable-srp --disable-srp-setpass --with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket
make
make install
再次测试。成功了。终于解决了。
总结了一下经验:遇到问题得好好分析邮件的各个环节,确定好关键问题所在,像上面的,确定sasl工作流程。保证courier-authlib的authdaemonrc和postfix配置文件正确。应该就不会出现这样的问题。。
阅读(1025) | 评论(0) | 转发(0) |