maildirmake.courier (1)
Leading comments
<!-- Copyright 1998 - 2009 Double Precision, Inc. See COPYING for --> <!-- distribution information. --> Title: maildirmake Author: Sam Varshavchik Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> Date: 06/27/2015 Manual: Double Precision, Inc. Source: Courier Mail Server Language: English
NAME
maildirmake - create maildirs and maildir foldersSYNOPSIS
- maildirmake [options...] {maildir}
DESCRIPTION
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
m[blue]maildirquota(7)m[][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.
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 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 m[blue]maildiracl(1)m[]
[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.
GLOBAL SHARED FOLDERS
Normally -add command must be run for every maildir which needs to access the sharable maildir. Alternatively the file /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
m[blue]maildir(5)m[]
AUTHOR
Sam Varshavchik
- Author
NOTES
- 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