Эта проблема сводит меня с ума, и теперь я в тупике. Нужна помощь, пожалуйста;)
Я настраиваю почтовый сервер на экземпляре Ubuntu 14 AWS EC2, используя серверную часть mysql, postfix MTA и клиент веб-почты roundcube. Все работает вплоть до входа через roundcube. то есть я могу отправлять и получать почту из оболочки, когда я подключаюсь к localhost через порт 25 и почтовые ящики создаются в / var / mail / virtual /. Все выглядит хорошо.
Когда я пытаюсь войти в систему с пользователем, который существует в таблице «пользователи», клиент roundcube возвращает следующую ошибку:
Не удалось подключиться к серверу хранения.
Так. Вот сообщение об ошибке / var / log / roundcube /:
[04-Jan-2016 17:43:42 +0000]: IMAP Error: Login failed for email@mydomain.co.uk from [IPADDR] LOGIN: Temporary problem, please try again later in /usr/share/roundcube/program/lib/Roundcube/rcube_imap.php on line 184 (POST /roundcube/?_task=login&_action=login)
и ошибка зарегистрирована в / var / log / mail:
Jan 4 17:49:56 ip-172-31-46-150 imapd: Connection, ip [::ffff:127.0.0.1]
Jan 4 17:49:56 ip-172-31-46-150 authdaemond: received auth request, service=imap, authtype=login
Jan 4 17:49:56 ip-172-31-46-150 authdaemond: authmysql: trying this module
Jan 4 17:49:56 ip-172-31-46-150 authdaemond: authmysqllib: connected. Versions: header 50534, client 50546, server 50546
Jan 4 17:49:56 ip-172-31-46-150 authdaemond: SQL query: SELECT id, crypt, "", uid, gid, home, concat(home,'\',maildir), "", name, "" FROM users WHERE id = 'email@mydomain.co.uk' AND (enabled=1)
Jan 4 17:49:56 ip-172-31-46-150 authdaemond: mysql_query failed, reconnecting: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@mydomain.co.uk' AND (enabled=1)' at line 1
Jan 4 17:49:56 ip-172-31-46-150 authdaemond: authmysqllib: connected. Versions: header 50534, client 50546, server 50546
Jan 4 17:49:56 ip-172-31-46-150 authdaemond: mysql_query failed second time, giving up: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@mydomain.co.uk' AND (enabled=1)' at line 1
Jan 4 17:49:56 ip-172-31-46-150 authdaemond: authmysql: TEMPFAIL - no more modules will be tried
Jan 4 17:49:56 ip-172-31-46-150 imapd: LOGIN FAILED, user=email@mydomain.co.uk, ip=[::ffff:127.0.0.1]
Jan 4 17:49:56 ip-172-31-46-150 imapd: authentication error: Input/output error
Очевидно, я могу опубликовать файлы конфигурации по запросу, но я не хотел слишком сильно забивать исходный вопрос.
Любая помощь очень ценится! Спасибо
соответствующие измененные файлы конфигурации ниже:
Я внес следующие изменения в / и т.д. / курьер / authdaemonrc
authmodulelist="authmysql"
DEBUG_LOGIN=2
/ и т. д. / курьер / authmysqlrc
MYSQL_USERNAME mail
MYSQL_PASSWORD mypassword
MYSQL_DATABASE maildb
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD crypt
MYSQL_MAILDIR_FIELD concat(home,'/',maildir)
MYSQL_WHERE_CLAUSE enabled=1
/etc/roundcube/main.inc.php
$rcmail_config['default_host'] = 'localhost';
$rcmail_config['default_port'] = '143';
$rcmail_config['imap_force_ns'] = true;
$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['smtp_port'] = 25;
$rcmail_config['smtp_helo_host'] = 'localhost';
$rcmail_config['create_default_folders'] = TRUE;
Скопируйте и вставьте SQL из этих журналов в свой mysql
клиент (CLI). Я думаю, что одинокий \
вызывает проблемы, поскольку строка считывается из файла конфигурации. Возможно concat(home, '\\', maildir)
Но пути не должны использовать /
?