I'm considering converting a Cyrus system (managing my family's e-mail) to Dovecot. I'm trying Dovecot 1.1.15 on an Ubuntu 9.04 (2.6.28-11-server) system. My production server is currently running Cyrus 2.3.14.
Since I have a huge number of folders and subfolders, I need to use LAYOUT=fs. However, it's not working consistently.
I tried setting up a test account in Thunderbird (2.0.0.21), and I was able to create folders under the Inbox, and they showed up as nested subdirectories under my ~/Maildir on my mail server. So far, so good.
However, when I tried a home-grown Perl script (an archival scheme for my work e-mail), Dovecot wouldn't create subfolders properly; instead of nesting them (as I thought LAYOUT=fs would do), it used a flat layout.
Here is a trace (generated by my Perl script) of an IMAP session. This was supposed to log in as the user "stanford" (the name of my archival account); create a folder named "2009" if not already present; create (again, if not already there) a "2009-05" folder inside the "2009" folder; and, finally, save a message (marked as seen) inside the "2009-05" folder.
1 LOGIN XXXXXXXX XXXXXXXX1 OK Logged in.
2 STATUS user.stanford.2009 (MESSAGES)* STATUS "user.stanford.2009" (MESSAGES 0)
2 OK Status completed.
3 STATUS user.stanford.2009.2009-05 (MESSAGES)* STATUS "user.stanford.2009.2009-05" (MESSAGES 3)
3 OK Status completed.
4 APPEND user.stanford.2009.2009-05 (\Seen) {4043}
- OK
(message text here . . .)
4 OK [APPENDUID 1243306507 4] Append completed.
5 LOGOUT* BYE Logging out
The above works perfectly when I'm talking to my Cyrus server. However, when I tried the same thing with Dovecot, I got a folder named "user.stanford.2009" in the "stanford" account's Maildir, and then another folder named "user.stanford.2009.2009-05" (again, in the Maildir -- NOT nested in the "user.stanford.2009" folder) -- and the message was stored in the "user.stanford.2009.2009-05" folder.
I tried changing my Perl script to use "INBOX" instead of "user.stanford" -- but the result was basically the same, except I got new folders named "INBOX.2009" and "INBOX.2009.2009-05" directly in my archival account's Maildir.
Finally, I tried omitting any prefix at all on the folder names, and I got new folders named "2009" and "2009.2009-05" -- again, directly in Maildir -- no nesting of one folder within another.
I suppose I actually have two issues here -- the lack of folder nesting (even with LAYOUT=fs), and also Dovecot's failure to recognize a "user.XXX." prefix on a mailbox name as designating user XXX's inbox (something that seems to work fine on Cyrus).
My Cyrus server currently has over 1,600 folders and subfolders, so I absolutely can't / won't consider switching it to Dovecot unless I can get the nested filesystem layout working.
Any thoughts?
-- Rich Wales / richw@richw.org / richw@stanford.edu Wikipedia: http://en.wikipedia.org/wiki/User:Richwales Facebook: http://www.new.facebook.com/profile.php?id=206680