Назад | Перейти на главную страницу

«Механизм SQL 'mysql' не поддерживается»

У меня проблемы с postfix и SASL при использовании бэкэнда MySQL на сервере Ubuntu.

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 / IMAP работает и может подключаться, я немного озадачен. Единственные ссылки на эту ошибку, которые я могу найти, - это конечные пробелы в конце каждой строки, которые я проверил. Я использую Ubuntu. Кто-нибудь знает, где я ошибаюсь?


Редактировать: похоже, мне не хватает подходящего libmysql.so (угадывает имя) в /usr/lib/sasl2 (где есть libsqlite.so и libsql.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

Вам понадобится пакет MySQL для (Cyrus) SASL. В производных от Debian дистрибутивах он называется libsasl2-modules-sql.

Это потому, что это не имеет ничего общего с интерфейсом MySQL Postfix.

Вероятно, вам потребуется установить пакет postfix-mysql (или что-то подобное, это имя Debian).