I am using dovecot as an IMAP server for a Cisco product (Cisco Agent Desktop by Calabrio) and noticed some odd behavior when trying to access emails. The mail is delivered to the main INBOX, then a Cisco server moves it to a directory within the INBOX based on the queue it is meant for. Here is the directory structure of the Maildir:
Maildir/INBOX Maildir/INBOX/tmp Maildir/INBOX/63 Maildir/INBOX/63/tmp Maildir/INBOX/63/dovecot.index.cache Maildir/INBOX/63/cur Maildir/INBOX/63/cur/1395445673.M548066P32100.uc-util,S=6403:2, Maildir/INBOX/63/dovecot.index.log Maildir/INBOX/63/dovecot-uidlist Maildir/INBOX/63/maildirfolder Maildir/INBOX/63/new Maildir/INBOX/dovecot.index.cache Maildir/INBOX/cur Maildir/INBOX/dovecot.index.log Maildir/INBOX/dovecot-uidlist Maildir/INBOX/62 Maildir/INBOX/62/tmp Maildir/INBOX/62/dovecot.index.cache Maildir/INBOX/62/cur Maildir/INBOX/62/cur/1395445491.M591207P32114.uc-util,S=6380:2, Maildir/INBOX/62/dovecot.index.log Maildir/INBOX/62/dovecot-uidlist Maildir/INBOX/62/maildirfolder Maildir/INBOX/62/new Maildir/INBOX/new
Email is delivered to INBOX then gets moved to INBOX/62 or INBOX/63. The desktop software is then supposed to read the email and process it. I did a packet capture of the conversation and saw the following:
IMAP Response: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN] Dovecot ready. IMAP Request: A0 AUTHENTICATE PLAIN IMAP Response: + IMAP Request: <redacted> IMAP Response: A0 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in IMAP Request: A1 LIST "" Inbox/63 IMAP Response: A1 OK List completed. IMAP Request: A2 CREATE Inbox/63 IMAP Response: A2 NO [ALREADYEXISTS] Mailbox exists.
If I login manually and do 'LIST "" INBOX/63' it works fine, but not with "Inbox/63". I was under the impression that INBOX was not case-sensitive. Is this a bug or is the client doing something silly?
Thanks, Henry
dovecot -n # 2.1.7: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.7 disable_plaintext_auth = no mail_location = maildir:~/Maildir:LAYOUT=fs namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = } passdb { driver = pam } protocols = " imap" ssl = no ssl_cert = </etc/dovecot/dovecot.pem ssl_key = </etc/dovecot/private/dovecot.pem userdb { driver = passwd }
-- "The best way to predict the future is to invent it" - Alan Kay