“不支持 SQL 引擎‘mysql’”

“不支持 SQL 引擎‘mysql’”

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

认证日志

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/IMAP 配置有效并且可以连接,所以我有点困惑。我能找到的与此错误有关的唯一参考是每行末尾的尾随空格,我已经检查过了。我使用的是 Ubuntu。有人知道我哪里出错了吗?


编辑:看起来我在(其中有一个 libsqlite.so 和一个 libsql.so)中缺少一个合适的libmysql.so(猜测名称) 。我该如何获取它?/usr/lib/sasl2

答案1

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

答案2

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

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

答案3

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

相关内容