Hello List,
I have a problem with the client Roundcube. Whenever I save a draft to the Folder INBOX.Drafts a old mail in my INBOX will be marked as unread.
Here are the IMAP Logs from Roundcube and Dovecot debug logs. I have no idea why it happens. The IMAP protocol looks normal to me but as you can see in the second to last line in the Dovecot log Dovecot is changing the flag of an old E-Mail in INBOX that has the same UID as the Mail that was just created in INBOX.Drafts.
[03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE XLIST +NAMESPACE METADATA QUOTA AUTH=PLAIN AUTH=LOGIN] CENSORED - ready. [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: A0001 ID ("name" "Roundcube" "version" "1.1.3" "php" "5.6.33" "os" "Linux" "command" "/?_task=mail&_unlock=loading1522741802861&_lang=de&_framed=1") [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * ID ("name" "Dovecot") [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: A0001 OK ID completed. [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: A0002 AUTHENTICATE PLAIN ****** [37] [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: A0002 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE XLIST +NAMESPACE METADATA QUOTA SPECIAL-USE QUOTA] Logged in [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: A0003 SETMETADATA NIL (0 "CLIENT_IP" 1 "X.X.X.X") [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: A0003 BAD Error in IMAP command SETMETADATA: METADATA disabled (0.000 + 0.000 secs). [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: A0004 LSUB "" INBOX.Drafts [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * LSUB (\Drafts) "." INBOX.Drafts [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: A0004 OK Lsub completed (0.000 + 0.000 secs). [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: A0005 LIST "" INBOX.Drafts [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * LIST (\HasNoChildren \Drafts) "." INBOX.Drafts [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: A0005 OK List completed (0.000 + 0.000 secs). [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: A0006 APPEND INBOX.Drafts (\Seen) {75743+} [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: MIME-Version: 1.0^M [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: A0006 OK [APPENDUID 1506921305 58] Append completed (0.001 + 0.042 secs). [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: A0007 SELECT INBOX [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft Junk $MDNSent) [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft Junk $MDNSent \*)] Flags permitted. [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * 682 EXISTS [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * 0 RECENT [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * OK [UNSEEN 48] First unseen. [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * OK [UIDVALIDITY 1506921304] UIDs valid [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * OK [UIDNEXT 881] Predicted next UID [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: A0007 OK [READ-WRITE] Select completed (0.000 + 0.000 secs). [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: A0008 UID STORE 58 -FLAGS.SILENT (\Seen) [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: A0008 OK Store completed (0.003 + 0.000 + 0.002 secs). [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] C: A0009 LOGOUT [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: * BYE Logging out [03-Apr-2018 09:50:03 +0200]: <6c472a00> [8095] S: A0009 OK Logout completed (0.000 + 0.000 secs).
Apr 3 09:50:03 HOST dovecot: imap-login: Login: user=
Information about dovecot:
dovecot --version 2.2.27 (c0f36b0)
dovecot -n # 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.16 (fed8554) # OS: Linux 4.9.44-040944-generic x86_64 Debian 8.10 auth_mechanisms = plain login default_client_limit = 32000 default_process_limit = 8000 disable_plaintext_auth = no listen = * login_greeting = CENSORED - ready. mail_debug = yes mail_location = maildir:~/Maildir:CONTROL=/opt/dovecot/control/%n-control:INDEX=/opt/dovecot/index/%n mail_plugins = " stats quota mail_log notify" namespace inbox { inbox = yes location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Spam { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = INBOX. separator = . } passdb { args = dovecot-%s driver = pam } plugin { cgroup_debug = false cgroup_path = /sys/fs/cgroup mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append mail_log_fields = uid box msgid size subject flags quota = fs:%n(soft quota) sieve = ~/.dovecot.sieve sieve_dir = ~/sieve stats_command_min_time = 1 mins stats_domain_min_time = 12 hours stats_ip_min_time = 12 hours stats_memory_limit = 16 M stats_refresh = 30 secs stats_session_min_time = 15 mins stats_track_cmds = no stats_user_min_time = 24 hours } protocols = " imap pop3" service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0666 user = postfix } } service imap-login { inet_listener imaps { ssl = yes } } service imap-postlogin { executable = script-login /etc/dovecot/post-login/expire.sh } service imap { executable = imap imap-postlogin process_limit = 4096 } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service pop3-postlogin { executable = script-login /etc/dovecot/post-login/expire.sh } service pop3 { executable = pop3 pop3-postlogin } service quota-status { executable = quota-status -p postfix unix_listener /var/spool/postfix/private/quota { group = postfix mode = 0660 user = postfix } } service stats { fifo_listener stats-mail { mode = 0666 user = dovecot } } ssl_ca =