我们正在运行dovecot作为IMAP服务器和后缀来传递邮件。 我们的用户之一抱怨说,电子邮件是迟迟gettin(不,我们不使用灰色列表或类似的东西)。 /var/log/mail.info显示这些日志消息,当用户应该得到这封电子邮件。 邮件目录(例如/邮件)通过NFS挂载(如果有帮助的话)
Jul 26 18:31:08 mail1 deliver([email protected]): Corrupted transaction log file /mail/example.com/user/dovecot.index.log: start_offset (5160) > file size (5140) Jul 26 18:31:08 mail1 deliver([email protected]): fscking index file /mail/example.com/user/dovecot.index Jul 26 18:31:08 mail1 deliver([email protected]): msgid=<[email protected]>: 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共享?