On 4/30/2013 1:07 PM, Kyle Wheeler wrote:
On Tuesday, April 30 at 08:04 AM, quoth Gregory Sloop:
Any ideas where to look next, what I might do to force dovecot to forget message ID's etc - that might force it to read the whole mailbox file again?
Find the dovecot.index files for that mbox and delete them. They will be re-generated from the contents of the mbox.
~Kyle
Apparently Gregory discarded your advice Kyle.
Gregory, this is the first step in fixing such a problem with mbox storage. I've had your same issue and similar occur multiple times, and this normally fixes the problem. Make sure the user in question in logged off and delete the index files as Kyle suggested. When the user logs back in everything should work. If it doesn't delete any cache or sync files on the client MUA (which should have actually been your first step). I've seen this problem with Thunderbird a number of times, though not in a couple of years, since switching to LDA.
While you chided Charles for stating the obvious, you'd have done well to have provided what he suggested. Why? Because this problem does not exist, at least in my experience, when using Dovecot LDA or LMTP for the delivery into the mbox file, as the indexes are updated during delivery. The mbox problem(s) only seem to exist when the MTA appends the files directly, with Dovecot updating indexes on the next MUA read access. The cause is often, but not limited to, incompatible, misconfigured, or broken locking between the MTA and Dovecot, which results in a corrupt Dovecot index file.
-- Stan