“SQL引擎”不支持mysql“

在Ubuntu服务器上使用MySQL后端时,我遇到了postfix和SASL的问题。

auth.log

Oct 12 13:25:21 lvps92-60-121-255 postfix/smtpd[28508]: sql auxprop plugin using mysql engine Oct 12 13:25:21 lvps92-60-121-255 postfix/smtpd[28508]: SQL engine 'mysql' not supported Oct 12 13:25:21 lvps92-60-121-255 postfix/smtpd[28508]: auxpropfunc error no mechanism available Oct 12 13:25:21 lvps92-60-121-255 postfix/smtpd[28508]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sqlite 

/etc/postfix/sasl/smtpd.conf

 pwcheck_method: saslauthd mech_list: plain login cram-md5 digest-md5 log_level: 7 allow_plaintext: true auxprop_plugin: mysql sql_engine: mysql sql_hostnames: 127.0.0.1 sql_user: postfix sql_passwd: (password) sql_database: postfix sql_select: select password from mailbox where username = '%u@%r' 

由于POP / IMAPconfiguration工作,并可以连接我有点难住。 我可以find这个错误的唯一参考是每行结尾的尾部空格,我已经检查过了。 我正在使用Ubuntu。 有没有人有我的错在哪里的想法?


编辑:它看起来像我在/usr/lib/sasl2 (其中有一个libsqlite.so和一个libsql.so)缺less一个适当的libmysql.so (猜测名称)。 我怎样才能得到这个?

你在smtpd.conf中有错误,应该是这样的

 pwcheck_method: auxprop mech_list: PLAIN LOGIN CRAM-MD5 auxprop_plugin: sql sql_engine: mysql sql_hostnames: localhost sql_user: postfix sql_database: postfix sql_passwd: password sql_select: select password from mailbox where username = '%u@%r' log_level: 3 

注意:auxprop_plugin应该是sql而不是mysql

所有你需要的是安装libsasl2-modules-sql

 # apt-get install libsasl2-modules-sql 

你需要(Cyrus)SASL的MySQL包。 在Debian派生的发行版中,它被命名为libsasl2-modules-sql

这是因为它与Postfix的MySQL接口无关。

您可能需要安装包postfix-mysql (或类似的东西,这是Debian的名字)。