У меня проблемы с 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).