Вчера вечером я обновил свой почтовый сервер с Debian etch до lenny. Пока что я столкнулся с проблемой при установке постфикса, в основном из-за того, что мне удалось каким-то образом нарушить доступ к IMAP.
При попытке подключиться к серверу IMAP с помощью Thunderbird все, что я получаю в mail.log, это:
Feb 12 11:57:16 mail imapd-ssl: Connection, ip=[::ffff:10.100.200.65]
Feb 12 11:57:16 mail imapd-ssl: LOGIN: ip=[::ffff:10.100.200.65], command=AUTHENTICATE
Feb 12 11:57:16 mail authdaemond: received auth request, service=imap, authtype=login
Feb 12 11:57:16 mail authdaemond: authmysql: trying this module
Feb 12 11:57:16 mail authdaemond: SQL query: SELECT username, password, "", '105', '105', '/var/virtual', maildir, "", name, "" FROM mailbox WHERE username = 'halka@xoxo.sk' AND (active=1)
Feb 12 11:57:16 mail authdaemond: password matches successfully
Feb 12 11:57:16 mail authdaemond: authmysql: sysusername=<null>, sysuserid=105, sysgroupid=105, homedir=/var/virtual, address=halka@xoxo.sk, fullname=<null>, maildir=xoxo.sk/halka@xoxo.sk/, quota=<null>, options=<null>
Feb 12 11:57:16 mail authdaemond: Authenticated: sysusername=<null>, sysuserid=105, sysgroupid=105, homedir=/var/virtual, address=halka@xoxo.sk, fullname=<null>, maildir=xoxo.sk/halka@xoxo.sk/, quota=<null>, options=<null>
... а затем Thunderbird продолжает жаловаться, что не может войти в систему / потерять соединение. Thunderbird определенно не настроен для подключения через SSL / TLS.
POP3 (также предоставляемый Courier) работает нормально.
Я в основном искал способ сделать журнал courier-imap более подробным, как это видно, например Вот.
Редактировать: Извините за беспорядок, я обнаружил, что пропускаю журнал через grep imap
, который, естественно, не отображал записи для authdaemond
.
Запись конфигурации подробного журнала находится в /etc/courier/imapd
под DEBUG_LOGIN=1
(установите 1, чтобы включить подробное ведение журнала, установите значение 2, чтобы разрешить дамп простой текст пароли к лог-файлу. Осторожный.)
Итак, после подключения моего почтового сервера через telnet я наконец нашел проблему.
$ telnet 10.0.0.229 143
Trying 10.0.0.229...
Connected to 10.0.0.229.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information.
0 login halka@xoxo.sk redacted
0 OK LOGIN Ok
* BYE [ALERT] Fatal error: Account’s mailbox directory is not owned by the correct uid or gid:
Как оказалось, не совсем недавнее изменение courier-imap ввело некоторую дополнительную проверку работоспособности для пользовательских maildirs. В качестве обходного пути я добавил IMAP_MAILBOX_SANITY_CHECK=0
к моему /etc/courier/imapd
(путь, вероятно, у вас будет другим).
Хотя это просто уродливый обходной путь, он может помочь кому-то, кто сталкивается с теми же проблемами. Тем не менее, я хотел бы пройти дополнительную проверку на вменяемость.