[Comm] как скрестить Courier-Imap c MySQL?
Dmitry Lebkov
=?iso-8859-1?q?dima_=CE=C1_sakhalin=2Eru?=
Чт Янв 12 11:45:11 MSK 2006
Коротков Георгий wrote:
> Dmitry Lebkov пишет:
>
> [root на alt root]# rpm -qa|grep courier
> courier-authdaemon-mysql-3.0.7-alt1
> courier-imap-3.0.7-alt1
> courier-authdaemon-3.0.7-alt1
>
>> А так же:> # cat /etc/courier-imap/authdaemon* | grep -E -v '^#|^$'
>
> [root на alt root]# cat /etc/courier-imap/authdaemon* | grep -E -v '^#|^$'
> MYSQL_SERVER localhost
Попробуй 127.0.0.1 вместо localhost и убери пробел перед MYSQL_PORT.
Вполне может быть, что authdaemon пытается подцепиться к unix-сокету,
а не к TCP-порту.
> MYSQL_USERNAME courier
> MYSQL_PASSWORD password
> MYSQL_PORT 3306
^^ явно лишние пробелы.
> MYSQL_OPT 0
> MYSQL_DATABASE TNMailServer
> MYSQL_USER_TABLE TNAccount
> MYSQL_CLEAR_PWFIELD Password
> DEFAULT_DOMAIN vito.ostap.ru
> MYSQL_UID_FIELD uid
> MYSQL_GID_FIELD gid
^^ опять же пробелы.
> MYSQL_LOGIN_FIELD EmailAddress
> MYSQL_NAME_FIELD FullName
^^^^^^^^^^^^^^^^^^ нет такого параметра в конфигах
> MYSQL_MAILDIR_FIELD MailDirLocation
> MYSQL_QUOTA_FIELD Quota
> MYSQL_QUERY_LASTREAD UPDATE TNAccount SET
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> LastLogin=now() WHERE EMmailAddress='%s'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
И такого тоже нет.
И отсутствует MYSQL_HOME_FIELD. А он нужен.
Для начала посмотри на 'ps ax|grep authdaemon' на предмет authdaemond.mysql
Запрос, который прилетает в MySQL ты видешь в логах? В результатах SELECT'а
все, требуемые, поля присутствуют и != NULL? Запрос должен возвращать только
одну запись из базы.
Посмотри в /usr/share/doc/courier-imap-3.0.7/html/README.authmysql.html -
структура твоей таблицы соответствует тому, что рекомендовано? Там же
перечислены все параметры файла конфигурации.
Вообще, лучше взять дефолтный конфиг из пакета и поправить значения
параметров под свои нужды, а не copy-n-paste из "Системного Администратора".
--
WBR, Dmitry Lebkov
Подробная информация о списке рассылки community