[Dovecot] Maildir with LAYOUT=fs not working

Rich Wales richw at richw.org
Tue May 26 09:41:53 EEST 2009


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 at richw.org  /  richw at stanford.edu
Wikipedia:  http://en.wikipedia.org/wiki/User:Richwales
Facebook:   http://www.new.facebook.com/profile.php?id=206680


More information about the dovecot mailing list