| 
     1 .. -*- restructuredtext -*-  | 
         | 
     2   | 
     1 ============================  | 
     3 ============================  | 
     2 vmm - a virtual mail manager  | 
     4 vmm - a virtual mail manager  | 
     3 ============================  | 
     5 ============================  | 
     4   | 
     6   | 
     5 Welcome to vmm!  | 
     7 Welcome to vmm!  | 
     6   | 
     8   | 
     7 vmm is the easy to use command line tool for administrators and postmasters,  | 
     9 **vmm** is the easy to use and configurable command line tool for  | 
     8 to manage domains, alias-domains, accounts and relocated mail users. It allows  | 
    10 administrators and postmasters, to manage domains, alias-domains, accounts and  | 
     9 the fast and easy management of mail servers.  | 
    11 relocated mail users. It allows the fast and easy management of mail servers.  | 
    10   | 
    12   | 
    11 vmm is written in Python_. It's designed for installations using Dovecot_ and  | 
    13 vmm is written in Python_. It's designed for installations using Dovecot_ and  | 
    12 Postfix_ with a PostgreSQL_ backend.  | 
    14 Postfix_ with a PostgreSQL_ backend.  | 
    13   | 
    15   | 
    14 Features  | 
    16 Features  | 
    18   ‣ Unicode/UTF-8 capable (input/storage/output)  | 
    20   ‣ Unicode/UTF-8 capable (input/storage/output)  | 
    19   ‣ supports IDN_  | 
    21   ‣ supports IDN_  | 
    20   ‣ supports the mailbox format Maildir_ and Dovecot's own high-performance  | 
    22   ‣ supports the mailbox format Maildir_ and Dovecot's own high-performance  | 
    21     mailbox formats single- and multi-\ dbox_  | 
    23     mailbox formats single- and multi-\ dbox_  | 
    22   ‣ configurable basic mailbox structure, including sub-mailboxes  | 
    24   ‣ configurable basic mailbox structure, including sub-mailboxes  | 
    23   ‣ multilingual (currently: Dutch, English, French and German)  | 
    25   ‣ multilingual — currently:  | 
         | 
    26   | 
         | 
    27      * Dutch  | 
         | 
    28      * English  | 
         | 
    29      * Finnish  | 
         | 
    30      * French  | 
         | 
    31      * German  | 
         | 
    32      * Vietnamese  | 
    24   | 
    33   | 
    25 • Domain features  | 
    34 • Domain features  | 
    26   | 
    35   | 
    27   ‣ configurable transport setting per domain  | 
    36   ‣ configurable transport_ setting per domain  | 
    28   ‣ unique group identifier (GID) per domain  | 
    37   ‣ unique group identifier (GID) per domain  | 
    29   ‣ each domain may have one or more alias domain names  | 
    38   ‣ each domain may have one or more alias domain names  | 
         | 
    39   ‣ activate or deactivate services (SMTP, POP, IMAP and ManageSieve) for new  | 
         | 
    40     or all accounts of a domain  | 
    30   ‣ configurable quota limits (size and/or number of messages) for the  | 
    41   ‣ configurable quota limits (size and/or number of messages) for the  | 
    31     domain's accounts  | 
    42     domain's accounts  | 
    32   ‣ supports relocated users  | 
    43   ‣ supports relocated_ users  | 
    33   ‣ the postmaster account can be created automatically when a new domain is  | 
    44   ‣ the postmaster account can be created automatically when a new domain is  | 
    34     created  | 
    45     created  | 
    35   | 
    46   | 
    36 • Alias domain features  | 
    47 • Alias domain features  | 
    37   | 
    48   | 
    46   ‣ unique user identifier (UID) per user  | 
    57   ‣ unique user identifier (UID) per user  | 
    47   | 
    58   | 
    48 • Alias features  | 
    59 • Alias features  | 
    49   | 
    60   | 
    50   ‣ supports multiple destinations per e-mail alias  | 
    61   ‣ supports multiple destinations per e-mail alias  | 
    51   ‣ destinations  can be deleted separately  | 
    62   ‣ destinations can be deleted separately  | 
         | 
    63   | 
         | 
    64 Installation Prerequisites  | 
         | 
    65 ==========================  | 
         | 
    66 You already should have installed and configured Postfix and Dovecot with  | 
         | 
    67 PostgreSQL support. You also need access to a local or remote PostgreSQL  | 
         | 
    68 server.  | 
         | 
    69   | 
         | 
    70 To verify that your Dovecot and Postfix installation has support for  | 
         | 
    71 PostgreSQL use the ``postconf`` and ``dovecot`` commands as shown below::  | 
         | 
    72   | 
         | 
    73         hostname ~ # postconf -m | grep pgsql  | 
         | 
    74         pgsql  | 
         | 
    75         hostname ~ # postconf -a | grep dovecot  | 
         | 
    76         dovecot  | 
         | 
    77         hostname ~ # dovecot --build-options | grep postgresql  | 
         | 
    78         SQL drivers: mysql postgresql sqlite  | 
         | 
    79   | 
         | 
    80 vmm depends on Python (≥ 2.4.0) and Psycopg_ (≥ 2.0) or pyPgSQL_ (≥ 2.5.1).  | 
         | 
    81 Psycopg and pyPgSQL are depending on parts of the *eGenix.com mx Base  | 
         | 
    82 Distribution* (mxDateTime_ and mxTools_).  | 
         | 
    83   | 
         | 
    84 If you are using Python ≤ 2.5.0:  | 
         | 
    85   | 
         | 
    86   • if you want to store your users' passwords as ``PLAIN-MD4`` digest in the  | 
         | 
    87     database, vmm will try to use ``Crypto.Hash.MD4`` from PyCrypto_  | 
         | 
    88   • if you are using Dovecot ≥ v1.1.0 and you want to store your users'  | 
         | 
    89     passwords as ``SHA256`` or ``SSHA256`` hashes, vmm will try to use  | 
         | 
    90     ``Crypto.Hash.SHA256`` from PyCrypto. For ``SHA256``/``SSHA256`` you  | 
         | 
    91     should have installed PyCrypto, at least in version 2.1.0alpha1.  | 
         | 
    92   | 
         | 
    93   When the Crypto.Hash module couldn't be imported, vmm will use  | 
         | 
    94   dovecotpw/doveadm, if  the *misc.password_scheme* setting in your *vmm.cfg*  | 
         | 
    95   is set to ``PLAIN-MD4``, ``SHA256`` or ``SSHA256``.  | 
    52   | 
    96   | 
    53 Source code  | 
    97 Source code  | 
    54 ===========  | 
    98 ===========  | 
    55 vmm's source code is available from the Mercurial_ repositories:  | 
    99 vmm's source code is available from the Mercurial_ repositories:  | 
    56   | 
   100   | 
    80 .. _dbox: http://wiki2.dovecot.org/MailboxFormat/dbox  | 
   124 .. _dbox: http://wiki2.dovecot.org/MailboxFormat/dbox  | 
    81 .. _Dovecot: http://dovecot.org/  | 
   125 .. _Dovecot: http://dovecot.org/  | 
    82 .. _IDN: http://en.wikipedia.org/wiki/Internationalized_domain_name  | 
   126 .. _IDN: http://en.wikipedia.org/wiki/Internationalized_domain_name  | 
    83 .. _Maildir: http://wiki2.dovecot.org/MailboxFormat/Maildir  | 
   127 .. _Maildir: http://wiki2.dovecot.org/MailboxFormat/Maildir  | 
    84 .. _Mercurial: http://mercurial.selenic.com/  | 
   128 .. _Mercurial: http://mercurial.selenic.com/  | 
         | 
   129 .. _mxDateTime: http://www.egenix.com/products/python/mxBase/mxDateTime/  | 
         | 
   130 .. _mxTools: http://www.egenix.com/products/python/mxBase/mxTools/  | 
    85 .. _Postfix: http://www.postfix.org/  | 
   131 .. _Postfix: http://www.postfix.org/  | 
    86 .. _PostgreSQL: http://www.postgresql.org/  | 
   132 .. _PostgreSQL: http://www.postgresql.org/  | 
         | 
   133 .. _Psycopg: http://initd.org/psycopg/  | 
         | 
   134 .. _PyCrypto: http://www.pycrypto.org/  | 
         | 
   135 .. _pyPgSQL: http://pypgsql.sourceforge.net/  | 
    87 .. _Python: http://www.python.org/  | 
   136 .. _Python: http://www.python.org/  | 
         | 
   137 .. _relocated: http://www.postfix.org/relocated.5.html  | 
         | 
   138 .. _transport: http://www.postfix.org/transport.5.html  |