# maildirmake

## Name

maildirmake -- create maildirs and maildir folders

## Synopsis

maildirmake [options...] {maildir}

## DESCRIPTION

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.

## OPTIONS

`-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 "Maildir Quotas", below.

`-f` folder

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

`-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.

### FOLDERS

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.

### SHARED FOLDERS

This is another extension to the Maildir format that allows folders to be shared between multiple clients.

NOTE:

The Courier-IMAP folder 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) 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.

### GLOBAL SHARED FOLDERS

Normally -add command must be run for every maildir which needs to access the sharable maildir. Alternatively the file `/usr/local/etc/courier/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.

### ACCESSING SHARED FOLDERS

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.

## SEE ALSO

maildir(5), maildiracl(1), maildirkw(1), maildrop(1), maildirquota(7), deliverquota(8), maildropfilter(7), http://www.qmail.org/man/man5/maildir.html.