Mailbox hierarchy determination?

Patrick Goetz pgoetz at mail.utexas.edu
Thu Mar 14 04:32:26 EDT 2019


The first couple of times I set up cyrus-imapd I used Debian packages 
which separated mailboxes in the default partition into folders based on 
the starting letter of the mailbox; i.e. something like:

   /var/spool/cyrus/mail/{[A-Z,a-z,0-9]}/user

Since I have fewer than 50 users and since I found myself frequently 
"going to the files" so to speak to definitely determine the presence or 
absence of some message a user was concerned about, this hierarchy was 
something of a annoyance, so during the last major upgrade I switched 
this to:

    /srv/imap/{user1,user2,...,userN}

i.e. flattening the folder structure and moving the default partition to 
a large non-system disk unaffected by /var volatility.

Now for the life of me I can't figure out what setting in imapd.conf (if 
any) facilitated this structure (not the location of the default 
partition, but rather not using the [A-Z,a-z,0-9] subfolders.

Last time I left the sieve folders divided by letter; in the next 
iteration I'd like to flatten that folder structure to.

Looking at the Arch package post_install script, it pre-creates a ton of 
folders:

--------------------------
     # all kinds of directories needed for the IMAP spool
     for subdir in imap/{,db,log,msg,proc,socket,sieve} 
spool/imap/{,stage.}; do
         if [ ! -d /var/${subdir} ]; then
             mkdir -m 0750 -p "/var/${subdir}"
         fi
     done
     for subdir in imap/{user,quota,sieve} spool/imap; do
         for i in a b c d e f g h i j k l m n o p q r s t v u w x y z \
                  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \
                  0 1 2 3 4 5 6 7 8 9; do
             if [ ! -d /var/${subdir}/${i} ]; then
                 mkdir -m 0750 -p "/var/${subdir}/${i}"
             fi
         done
--------------------------

I'm wondering how much or if any of this is really necessary. Will cyrus 
autocreate the necessary folders if missing?




More information about the Info-cyrus mailing list