1 .. -*- restructuredtext -*- |
|
2 |
|
3 ============================ |
|
4 vmm - a virtual mail manager |
|
5 ============================ |
|
6 |
|
7 Welcome to vmm! |
|
8 |
|
9 **vmm** is the easy to use and configurable command line tool for |
|
10 administrators and postmasters, to manage domains, alias-domains, accounts and |
|
11 relocated mail users. It allows the fast and easy management of mail servers. |
|
12 |
|
13 vmm is written in Python_. It's designed for installations using Dovecot_ and |
|
14 Postfix_ with a PostgreSQL_ backend. |
|
15 |
|
16 Features |
|
17 ======== |
|
18 • General features |
|
19 |
|
20 ‣ Unicode/UTF-8 capable (input/storage/output) |
|
21 ‣ supports IDN_ (also ccTLDs/ccIDNs and 'new' gTLDs) |
|
22 ‣ supports the mailbox format Maildir_ and Dovecot's own high-performance |
|
23 mailbox formats single- and multi-\ dbox_ |
|
24 ‣ configurable basic mailbox structure, including sub-mailboxes |
|
25 ‣ multilingual — currently: |
|
26 |
|
27 * Dutch |
|
28 * English |
|
29 * Finnish |
|
30 * French |
|
31 * German |
|
32 * Vietnamese |
|
33 |
|
34 • Domain features |
|
35 |
|
36 ‣ configurable transport_ setting per domain |
|
37 ‣ unique group identifier (GID) per domain |
|
38 ‣ each domain may have one or more alias domain names |
|
39 ‣ activate or deactivate services (SMTP, POP3, IMAP and ManageSieve) for new |
|
40 or all accounts of a domain |
|
41 ‣ configurable quota limits (size and/or number of messages) for the |
|
42 domain's accounts |
|
43 ‣ supports relocated_ users |
|
44 ‣ the postmaster account can be created automatically when a new domain is |
|
45 created |
|
46 ‣ supports per-domain catch-all aliases |
|
47 |
|
48 • Alias domain features |
|
49 |
|
50 ‣ alias domain names can be switched between domains |
|
51 |
|
52 • Account features |
|
53 |
|
54 ‣ configurable transport per account |
|
55 ‣ activate or deactivate one/more/all services (SMTP, POP3, IMAP and |
|
56 ManageSieve) per account |
|
57 ‣ configurable quota limit (size and/or number of messages) per user |
|
58 ‣ per-account configuration overrides defaults defined by the domain, |
|
59 otherwise the setting is inherited |
|
60 ‣ unique user identifier (UID) per user |
|
61 |
|
62 • Alias features |
|
63 |
|
64 ‣ supports multiple destinations per e-mail alias |
|
65 ‣ destinations can be deleted separately |
|
66 ‣ destinations can be interpolated using the original address' local-part |
|
67 and domain, allowing aliases to have different meaning in alias domains, |
|
68 e.g. with the following defined in example.org:: |
|
69 |
|
70 postmaster@example.org → postmaster+%d@admin.example.org |
|
71 |
|
72 If example.com is an alias domain of example.org, the alias will become:: |
|
73 |
|
74 postmaster@example.org → postmaster+example.org@admin.example.org |
|
75 postmaster@example.com → postmaster+example.com@admin.example.org |
|
76 |
|
77 Installation Prerequisites |
|
78 ========================== |
|
79 You already should have installed and configured Postfix and Dovecot with |
|
80 PostgreSQL support. You also need access to a local or remote PostgreSQL |
|
81 server. |
|
82 |
|
83 To verify that your Dovecot and Postfix installation has support for |
|
84 PostgreSQL use the ``postconf`` and ``dovecot`` commands as shown below:: |
|
85 |
|
86 hostname ~ # postconf -m | grep pgsql |
|
87 pgsql |
|
88 hostname ~ # postconf -a | grep dovecot |
|
89 dovecot |
|
90 hostname ~ # dovecot --build-options | grep postgresql |
|
91 SQL drivers: mysql postgresql sqlite |
|
92 |
|
93 vmm depends on Python (≥ 2.4.0) and Psycopg_ (≥ 2.0) or pyPgSQL_ (≥ 2.5.1). |
|
94 Psycopg and pyPgSQL are depending on parts of the *eGenix.com mx Base |
|
95 Distribution* (mxDateTime_ and mxTools_). |
|
96 |
|
97 If you are using Python ≤ 2.5.0: |
|
98 |
|
99 • if you want to store your users' passwords as ``PLAIN-MD4`` digest in the |
|
100 database, vmm will try to use ``Crypto.Hash.MD4`` from PyCrypto_ |
|
101 • if you are using Dovecot ≥ v1.1.0 and you want to store your users' |
|
102 passwords as ``SHA256`` or ``SSHA256`` hashes, vmm will try to use |
|
103 ``Crypto.Hash.SHA256`` from PyCrypto. For ``SHA256``/``SSHA256`` you |
|
104 should have installed PyCrypto, at least in version 2.1.0alpha1. |
|
105 |
|
106 When the Crypto.Hash module couldn't be imported, vmm will use |
|
107 dovecotpw/doveadm, if the *misc.password_scheme* setting in your *vmm.cfg* |
|
108 is set to ``PLAIN-MD4``, ``SHA256`` or ``SSHA256``. |
|
109 |
|
110 Source code |
|
111 =========== |
|
112 vmm's source code is available from the Mercurial_ repositories: |
|
113 |
|
114 • main repository |
|
115 |
|
116 ‣ ``http://hg.localdomain.org/vmm`` |
|
117 |
|
118 • mirror repositories |
|
119 |
|
120 ‣ ``https://bitbucket.org/pvo/vmm`` |
|
121 ‣ ``http://hg.code.sf.net/p/vmm/code`` |
|
122 |
|
123 The Debian project is hosting the Git repository of vmm: |
|
124 |
|
125 • ``git://anonscm.debian.org/collab-maint/vmm.git`` |
|
126 |
|
127 Released versions are also available as gzip compressed tar archives at: |
|
128 https://sourceforge.net/projects/vmm/files/vmm/ |
|
129 |
|
130 Installation/Upgrade |
|
131 ==================== |
|
132 For installation or upgrading instructions read the `INSTALL` or `UPGRADE` |
|
133 file. |
|
134 |
|
135 License |
|
136 ======= |
|
137 In short: "**New BSD License**" aka "3-clause license". For a few more |
|
138 details see the `COPYING` file. |
|
139 |
|
140 .. External references |
|
141 .. _dbox: http://wiki2.dovecot.org/MailboxFormat/dbox |
|
142 .. _Dovecot: http://dovecot.org/ |
|
143 .. _IDN: http://en.wikipedia.org/wiki/Internationalized_domain_name |
|
144 .. _Maildir: http://wiki2.dovecot.org/MailboxFormat/Maildir |
|
145 .. _Mercurial: http://mercurial.selenic.com/ |
|
146 .. _mxDateTime: http://www.egenix.com/products/python/mxBase/mxDateTime/ |
|
147 .. _mxTools: http://www.egenix.com/products/python/mxBase/mxTools/ |
|
148 .. _Postfix: http://www.postfix.org/ |
|
149 .. _PostgreSQL: http://www.postgresql.org/ |
|
150 .. _Psycopg: http://initd.org/psycopg/ |
|
151 .. _PyCrypto: http://www.pycrypto.org/ |
|
152 .. _pyPgSQL: http://pypgsql.sourceforge.net/ |
|
153 .. _Python: http://www.python.org/ |
|
154 .. _relocated: http://www.postfix.org/relocated.5.html |
|
155 .. _transport: http://www.postfix.org/transport.5.html |
|