Dovecot损坏的事务日志文件正在延迟电子邮件

我们正在运行dovecot作为IMAP服务器和后缀来传递邮件。 我们的用户之一抱怨说,电子邮件是迟迟gettin(不,我们不使用灰色列表或类似的东西)。 /var/log/mail.info显示这些日志消息,当用户应该得到这封电子邮件。 邮件目录(例如/邮件)通过NFS挂载(如果有帮助的话)

Jul 26 18:31:08 mail1 deliver(user@example.com): Corrupted transaction log file /mail/example.com/user/dovecot.index.log: start_offset (5160) > file size (5140) Jul 26 18:31:08 mail1 deliver(user@example.com): fscking index file /mail/example.com/user/dovecot.index Jul 26 18:31:08 mail1 deliver(user@example.com): msgid=<20090726173107.8361B2DD@mail.example.com>: save failed to INBOX: Internal error occurred. Refer to server log for more information. [2009-07-26 18:31:08] 

D'哦! 延迟的原因是dovecot试图处理一个损坏的索引。

只需让用户注销邮件,删除索引文件,并在login时自动重新创build。因此,请执行以下操作:

 rm /mail/example.com/user/dovecot.* 

Dovecot创build每个消息的临时索引文件; 当用户第一次login时,如果索引不存在,索引就会从头创build,所以这是一个简单有效的修复方法,并且每次都有效。 我曾在早期版本的Dovecot中发生过这种情况,删除索引在所有情况下都是100%有效的。

正在以maildir格式存储邮件到该NFS挂载,对不对?

顺便说一句,Dovecot的1.0之前或beta版本定期出现这个问题。 新版本已经解决了这个问题。

是NFS共享?