[Dovecot] IMAP messages not being marked read
I recently moved from Fedora 13 to Fedora 14 and consequently to dovecot 2.0.8. Since then, I have observed that messages are not being marked as read in all cases. The general behavior is:
Use my mail client to read all unseen messages. All mail folders show no messages unread.
Tell mail client to check for new mail.
Mail client now says that some folders have new mail (1 or more messages)
Clicking on a folder with new mail (say with 6 unread) shows that there are no unread messages.
I have observed this behavior using both kmail and squirrelmail so do not believe it is a mail client problem.
I have maildir folders to which mail is delivered using procmail recipes directly to the appropriate dovecot folder. In these folders, I notice that the "cur" directory has a matching number of messages that do not have an "S" flag on the end of the file name. For example:
# ls .fedora-list/
cur/ dovecot.index.log new/
dovecot.index.cache dovecot-uidlist tmp/
# ls .fedora-list/cur 1293379204.26554_1.nehalem.home.rainbowdreams.com:2,S 1293379206.26571_1.nehalem.home.rainbowdreams.com:2, 1293379207.26581_1.nehalem.home.rainbowdreams.com:2, 1293380106.26744_1.nehalem.home.rainbowdreams.com:2, 1293380106.26748_1.nehalem.home.rainbowdreams.com:2,S 1293381904.26876_1.nehalem.home.rainbowdreams.com:2,S 1293383704.26978_1.nehalem.home.rainbowdreams.com:2,S 1293384604.27005_1.nehalem.home.rainbowdreams.com:2,S 1293385504.27067_1.nehalem.home.rainbowdreams.com:2,S 1293386404.27105_1.nehalem.home.rainbowdreams.com:2,S 1293387305.27158_1.nehalem.home.rainbowdreams.com:2, 1293387305.27166_1.nehalem.home.rainbowdreams.com:2, 1293388204.27193_1.nehalem.home.rainbowdreams.com:2, 1293389105.27234_1.nehalem.home.rainbowdreams.com:2,S 1293390005.27292_1.nehalem.home.rainbowdreams.com:2,S 1293390006.27298_1.nehalem.home.rainbowdreams.com:2,S 1293392706.27400_1.nehalem.home.rainbowdreams.com:2,S 1293392706.27406_1.nehalem.home.rainbowdreams.com:2,S 1293393611.27515_1.nehalem.home.rainbowdreams.com:2,S 1293396304.27673_1.nehalem.home.rainbowdreams.com:2,S 1293396305.27675_1.nehalem.home.rainbowdreams.com:2,S 1293398104.27743_1.nehalem.home.rainbowdreams.com:2,S 1293399003.27966_1.nehalem.home.rainbowdreams.com:2,S
I have so far been unable to observe a pattern as to which messages get affected. I made the assumption that perhaps the issue is a conversion issue in my existing maildir folders, but this does not appear to be the case. When I moved the existing directory out of the way and started with a fresh empty directory the issue has come back after a day or two.
Unfortunately, my install of Fedora 14 overlaid the partition with Fedora 13, so I cannot confirm the version of dovecot I was using with no issues. (so very glad I use separate disk and partition for the OS!) I can say that all configuration was in one dovecot.conf file, not the multiple conf.d files I see on Fedora 14.
Any assistance on what to troubleshoot next is greatly appreciated! The info about my dovecot is shown below. The maildir's are on local LVM/RAID and not remote.
Thanks!!
# dovecot -n # 2.0.8: /etc/dovecot/dovecot.conf # OS: Linux 2.6.35.10-72.fc14.x86_64 x86_64 Fedora release 14 (Laughlin) ext3 disable_plaintext_auth = no mail_debug = yes mail_location = maildir:/vg02/mail/%u mbox_write_locks = fcntl passdb { driver = pam } plugin { mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append mail_log_fields = uid box msgid size flags } ssl_cert =
# dovecot --version 2.0.8
On Sun, 2010-12-26 at 17:38 -0500, void372@transientvoid.com wrote:
I have maildir folders to which mail is delivered using procmail recipes directly to the appropriate dovecot folder. In these folders, I notice that the "cur" directory has a matching number of messages that do not have an "S" flag on the end of the file name. For example:
What about "doveadm search -u username unseen" - does that find any messages?
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append
I didn't see mail_plugins=mail_log to actually enable this. But if you did enable it, you should see flag_change events in logs and you could see if flags for some messages change unexpectedly (or never change).
On Sun, 2010-12-26 at 17:38 -0500, void372@transientvoid.com wrote:
I have maildir folders to which mail is delivered using procmail recipes directly to the appropriate dovecot folder. In these folders, I notice that the "cur" directory has a matching number of messages that do not have an "S" flag on the end of the file name. For example:
What about "doveadm search -u username unseen" - does that find any messages?
Yes. It is finding loads of messages right now (472) which matches the total number of unseen messages as shown by the mail client.
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
flag_change append
I didn't see mail_plugins=mail_log to actually enable this. But if you did enable it, you should see flag_change events in logs and you could see if flags for some messages change unexpectedly (or never change).
Ah. Super! So, that's why that wasn't working. Setting this and restarting dovecot provides the flag_change events as expected. Existing messages that are in the cur directory but not marked with the ,S seen flag do not get any flag_change logged when viewed by the mail client, but I'm assuming this is either because the message is already in the cur directory or because when the mail client shows the folder that had unseen messages in the folder list, there are none marked unseen so the client doesn't mark as seen?
I'll watch today and see if there are any new messages that don't get marked.
Thanks!
participants (2)
-
Timo Sirainen
-
void372@transientvoid.com