MAILDIRMAKE(1) | Double Precision, Inc. | MAILDIRMAKE(1) |
maildirmake - create maildirs and maildir folders
maildirmake [options...] {maildir}
The maildirmake command creates maildirs, and maildir folders. This documentation describes the maildirmake command from the Courier mail server, which creates an extended form of maildirs that implements additional extensions beyond the basic maildir properties that were first implemented in the Qmail mail server.
-S
-q quota
-f folder
-F folder
-s mode
--add name=pathname, --del name
This maildirmake command supports enhanced maildirs that contain folders.
By itself, maildirmake makes a new subdirectory maildir, and creates all the necessary structures. The -f option creates a new "folder" within an existing maildir. maildir must already exist, and the maildirmake command will create a new folder in the maildir.
Folders are simply subdirectories inside the main maildir whose names start with a period, and which are themselves maildirs. For example, the command "maildirmake -f Drafts mail/Maildir" creates mail/Maildir/.Drafts, that has the usual tmp, new and cur. You MUST use the -f option, instead of specifying mail/Maildir/.Drafts directly, in order to correctly initialize certain enhanced maildir features.
Folders cannot be created directly within other folders. Running maildirmake -f Urgent mail/Maildir/.Drafts will not work. Instead, the period character is designated as a hierarchy separator, run maildirmake -f Drafts.Urgent mail/Maildir instead. This creates mail/Maildir/.Drafts.Urgent, and all mail software that supports enhanced maildirs will interpret it as a subfolder Urgent of the Drafts folder.
This is another extension to the Maildir format that allows folders to be shared between multiple clients.
The Courier IMAP server implements two types of shared folders: filesystem permission-based shared folders, as well as virtual shared folders based on IMAP access control lists. Use the maildirmake command to implement shared folders based on filesystem permissions. The maildiracl(1)[2] command manages access control lists, which are used by virtual shared folders.
See the Courier IMAP server documentation for more information.
First, you need to create a collection of sharable folders, as a separate maildir:
maildirmake -S /usr/local/share/maildirs/notices
Then, create individuals folders that will be accessed in shared mode:
maildirmake -s write -f Weekly /usr/local/share/maildirs/notices
In this example, the "Weekly" folder is created, with read/write access to everyone. Multiple folders can be created in the same maildir, with different access permissions. Everyone can create a sharable maildir. The access privileges for individual folders are set by the -s option, and are implemented using traditional filesystem permissions.
Use the --add and --del options to add a sharable maildir to an existing maildir. Client software that implements this extension will now know where to find sharable folders:
maildirmake --add notices=/usr/local/share/maildirs/notices $HOME/Maildir
$HOME/Maildir is your main maildir. The argument to -add is nick=path. nick is a nickname for this collection of sharable folders, and path is the location of the sharable maildir. All folders in the sharable maildir that you have access to -- such as "Weekly", in this case, will now be accessible. Multiple sharable maildirs can be added, by giving each one a unique nick.
The --del option "disconnects" the sharable maildir from the main maildir.
Normally -add command must be run for every maildir which needs to access the sharable maildir. Alternatively the file /etc/maildirshared can be created, to specify a default set of sharable maildirs. Each line in this file takes the following format:
nick<tab>path
nick is a short nickname for the sharable maildir, <tab> is a single tab character, path is the pathname to the sharable maildir.
You may have read or write access to a shared folder. If you have write access, you can add messages to the shared folder. You can also delete messages that you've added.
Anyone can create a sharable maildir, so if the sharable maildir is actually created by you, can can delete any message, not just your own.
maildir(5)[3], maildiracl(1)[2], maildirkw(1)[4], maildrop(1)[5], maildirquota(7)[1], deliverquota(8)[6], maildropfilter(7)[7], http://www.qmail.org/man/man5/maildir.html.
Sam Varshavchik
06/20/2015 | Courier Mail Server |