DOKK / manpages / debian 11 / maildrop / maildirmake.maildrop.1.en
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

create a "sharable" maildir. A sharable maildir has slightly different permissions which allows creation of publicly-shared folders.

-q quota

install a quota on the maildir. See maildirquota(7)[1], below.

-f folder

do not create a maildir, but create a folder in an existing maildir.

-F folder

Like the -f option, except that the folder's name is given using the system locale's character set. Non-Latin characters in the folder's name must be given to the -f option using IMAP's modified-UTF7 encoding. The -F option takes the folder name specified using the console's character set..

-s mode

create a publicly accessible folder in an existing sharable maildir. First, use the -S option to create a sharable maildir. Then, run maildirmake again with the -s option to create publicly accessible folders. mode is a comma-separated list of the following keywords: read - readonly folder, only you can write messages to this folder; write - anyone can read and write messages to this folder; group - only allow members of your own system group to access messages in this folder (instead of everyone).

--add name=pathname, --del name

create or delete the directories and links needed to access shared folders. See below for more information.

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.


Note

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

Author

1.
maildirquota(7)
[set $man.base.url.for.relative.links]/maildirquota.html
2.
maildiracl(1)
[set $man.base.url.for.relative.links]/maildiracl.html
3.
maildir(5)
[set $man.base.url.for.relative.links]/maildir.html
4.
maildirkw(1)
[set $man.base.url.for.relative.links]/maildirkw.html
5.
maildrop(1)
[set $man.base.url.for.relative.links]/maildrop.html
6.
deliverquota(8)
[set $man.base.url.for.relative.links]/deliverquota.html
7.
maildropfilter(7)
[set $man.base.url.for.relative.links]/maildropfilter.html
06/20/2015 Courier Mail Server