我昨晚更新了我的邮件服务器,从 Debian etch 升级到了 lenny。到目前为止,我在安装 postfix 时遇到了问题,主要是我设法以某种方式破坏了 IMAP 访问。
当尝试使用 Thunderbird 连接到 IMAP 服务器时,我在 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 = '[email protected]' 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, [email protected], fullname=<null>, maildir=xoxo.sk/[email protected]/, quota=<null>, options=<null>
Feb 12 11:57:16 mail authdaemond: Authenticated: sysusername=<null>, sysuserid=105, sysgroupid=105, homedir=/var/virtual, [email protected], fullname=<null>, maildir=xoxo.sk/[email protected]/, quota=<null>, options=<null>
...然后 Thunderbird 继续抱怨它无法登录/失去连接。Thunderbird 肯定没有配置为通过 SSL/TLS 连接。
POP3(也由 Courier 提供)运行良好。
我一直在寻找一种方法来使 courier-imap 日志记录更加详细,例如可以看到这里。
编辑:抱歉造成了混乱,我发现我一直在通过 汇集日志grep imap
,这自然没有显示 的条目authdaemond
。
详细日志记录配置条目位于/etc/courier/imapd
以下位置DEBUG_LOGIN=1
(设置为 1 以启用详细日志记录,设置为 2 以启用转储纯文本密码到日志文件。小心。)
答案1
因此,在通过 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 [email protected] redacted
0 OK LOGIN Ok
* BYE [ALERT] Fatal error: Account’s mailbox directory is not owned by the correct uid or gid:
事实证明,courier-imap 的一个不太新的变化为用户邮件目录引入了一些额外的健全性检查。作为一种解决方法,我已将其添加IMAP_MAILBOX_SANITY_CHECK=0
到我的/etc/courier/imapd
(路径可能对您来说有所不同)。
虽然这只是一个不太好的解决方法,但它可能会帮助遇到同样问题的人。不过,我还是想通过额外的健全性检查。