Here is an example with APPEND $ /usr/lib/dovecot/imap S1: * PREAUTH [CAPABILITY IMAP4rev1 … MOVE NOTIFY SPECIAL-USE] Logged in as guilhem C1: a1 NOTIFY SET (INBOXES (MessageNew MessageExpunge FlagChange)) S1: a1 OK NOTIFY completed (0.000 secs)
$ /usr/lib/dovecot/imap S2: * PREAUTH [CAPABILITY IMAP4rev1 … MOVE NOTIFY SPECIAL-USE] Logged in as guilhem C2: a2 APPEND INBOX {1+} C2: x S2: a2 OK [APPENDUID 1384472528 26085] Append completed (0.229 secs). With 2.13 from Debian Jessie, S1 sends a notification for the new message in INBOX, as expected: S1: * STATUS INBOX (MESSAGES 4333 UIDNEXT 26086 UNSEEN 1) However it doesn't with 2.18 from Debian Sid, as if ‘INBOX’ was excluded from the mailbox filter ‘INBOXES’. It does send a notification for ‘virtual/unseen’ instead (as expected), but nothing for ‘INBOX’. S1: * STATUS virtual/unseen (MESSAGES 3 UIDNEXT 15186 UNSEEN 3) This is INBOX-specific because APPENDING the message to another mailbox triggers the notification on both 2.13 and 2.18 as expected: S1: * STATUS test (MESSAGES 2 UIDNEXT 3 UNSEEN 2) S1: * STATUS virtual/unseen (MESSAGES 2 UIDNEXT 15195 UNSEEN 2) I attach the ‘dovecot -n’ output for both 2.13 and 2.18. -- Guilhem.
# 2.2.13: /etc/dovecot/dovecot.conf # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.1 log_timestamp = "%Y-%m-%d %H:%M:%S " mail_location = mdbox:%h/mail mailbox_list_index = yes namespace inbox { inbox = yes location = mailbox DRAFTS { auto = create special_use = \Drafts } mailbox SENT { auto = subscribe special_use = \Sent } mailbox SPAM { auto = create special_use = \Junk } mailbox TRASH { auto = create special_use = \Trash } mailbox virtual/All { special_use = \All } mailbox virtual/Flagged { special_use = \Flagged } prefix = separator = / } passdb { args = scheme=SHA512-CRYPT username_format=%Ln /etc/dovecot/users driver = passwd-file } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = " imap lmtp" service auth-worker { user = $default_internal_user } service auth { unix_listener /var/spool/postfix/private/dovecot-auth { group = postfix mode = 0600 user = postfix } user = $default_internal_user } service imap-login { inet_listener imap { address = 127.0.0.1, ::1 port = 143 } inet_listener imaps { port = 993 ssl = yes } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } ssl = required ssl_ca = </usr/local/share/ca-certificates/cacert.org/class3.crt ssl_cert = </etc/dovecot/ssl/imap.guilhem.org.pem ssl_cipher_list = HIGH:!SSLv2:!aNULL:!eNULL:!3DES:!MD5:@STRENGTH ssl_dh_parameters_length = 2048 ssl_key = </etc/dovecot/ssl/private/imap.guilhem.org.key ssl_protocols = !SSLv2 !SSLv3 ssl_verify_client_cert = yes userdb { args = username_format=%Ln /etc/dovecot/users driver = passwd-file } protocol lmtp { mail_plugins = " sieve" postmaster_address = postmas...@guilhem.org }
# 2.2.18: /etc/dovecot/dovecot.conf # OS: Linux 4.0.0-2-686-pae i686 Debian stretch/sid listen = 127.0.0.1, ::1 mail_location = maildir:~/mail mail_plugins = virtual mailbox_list_index = yes namespace inbox { inbox = yes location = mailbox DRAFTS { auto = create special_use = \Drafts } mailbox SENT { auto = subscribe special_use = \Sent } mailbox SPAM { auto = create special_use = \Junk } mailbox TRASH { auto = create special_use = \Trash } mailbox virtual/all { special_use = \All } mailbox virtual/flagged { special_use = \Flagged } prefix = separator = / } namespace virtual { hidden = no list = no location = virtual:~/mail/virtual prefix = virtual/ separator = / } passdb { driver = pam } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = " imap" service imap-login { inet_listener imap { port = 0 } inet_listener imaps { port = 0 } } ssl = no userdb { driver = passwd }
signature.asc
Description: Digital signature