README
changeset 760 b678a1c43027
parent 748 659c4476c57c
child 761 e4e656f19771
equal deleted inserted replaced
748:659c4476c57c 760:b678a1c43027
     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