.. -*- restructuredtext -*-

============================
vmm - a virtual mail manager
============================

Welcome to vmm!

**vmm** is the easy to use and configurable command line tool for
administrators and postmasters, to manage domains, alias-domains, accounts and
relocated mail users. It allows the fast and easy management of mail servers.

vmm is written in Python_. It's designed for installations using Dovecot_ and
Postfix_ with a PostgreSQL_ backend.

Features
========
• General features

  ‣ Unicode/UTF-8 capable (input/storage/output)
  ‣ supports IDN_ (also `IDN ccTLDs`_/ccIDNs and 'new' gTLDs)
  ‣ supports the mailbox format Maildir_ and Dovecot's own high-performance
    mailbox formats single- and multi-\ dbox_
  ‣ configurable basic mailbox structure, including sub-mailboxes
  ‣ multilingual — currently:

     * Dutch
     * English
     * Finnish
     * French
     * German
     * Serbian
     * Spanish
     * Swedish
     * Vietnamese

• Domain features

  ‣ configurable transport_ setting per domain
  ‣ unique group identifier (GID) per domain
  ‣ each domain may have one or more alias domain names
  ‣ activate or deactivate services (SMTP, POP3, IMAP and ManageSieve) for new
    or all accounts of a domain
  ‣ configurable quota limits (size and/or number of messages) for the
    domain's accounts
  ‣ supports relocated_ users
  ‣ the postmaster account can be created automatically when a new domain is
    created
  ‣ supports per-domain catch-all aliases

• Alias domain features

  ‣ alias domain names can be switched between domains

• Account features

  ‣ configurable transport per account
  ‣ activate or deactivate one/more/all services (SMTP, POP3, IMAP and
    ManageSieve) per account
  ‣ configurable quota limit (size and/or number of messages) per user
  ‣ per-account configuration overrides defaults defined by the domain,
    otherwise the setting is inherited
  ‣ unique user identifier (UID) per user

• Alias features

  ‣ supports multiple destinations per e-mail alias
  ‣ destinations can be deleted separately
  ‣ destinations can be interpolated using the original address' local-part
    and domain, allowing aliases to have different meaning in alias domains,
    e.g. with the following defined in example.org::

      postmaster@example.org  →  postmaster+%d@admin.example.org

    If example.com is an alias domain of example.org, the alias will become::

      postmaster@example.org  →  postmaster+example.org@admin.example.org
      postmaster@example.com  →  postmaster+example.com@admin.example.org

Installation Prerequisites
==========================
You already should have installed and configured Postfix and Dovecot (≥ 2.0.0)
with PostgreSQL support. You also need access to a local or remote PostgreSQL
server.

To verify that your Dovecot and Postfix installation has support for
PostgreSQL use the ``postconf`` and ``dovecot`` commands as shown below::

        hostname ~ # postconf -m | grep pgsql
        pgsql
        hostname ~ # postconf -a | grep dovecot
        dovecot
        hostname ~ # dovecot --build-options | grep postgresql
        SQL drivers: mysql postgresql sqlite

Dependences
-----------
vmm (≥ 0.7.0) depends on Python (≥ 3.2) and Psycopg_ (≥ 2.0).

Source code
===========
vmm's source code is available from the Mercurial_ repositories:
vmm's source code is available from the Git_ repository.

• main repository

  ‣ ``https://bitbucket.org/pvo/vmm.git``

The Debian project is hosting a Git repository of vmm:

• ``git://anonscm.debian.org/collab-maint/vmm.git``

Released versions are also available as gzip compressed tar archives at:
https://sourceforge.net/projects/vmm/files/vmm/

Installation/Upgrade
====================
For installation or upgrading instructions read the `INSTALL` or `UPGRADE`
file.

License
=======
In short: "**New BSD License**" aka "3-clause license". For a few more
details see the `COPYING` file.

.. External references
.. _IDN ccTLDs: \
 https://en.wikipedia.org/wiki/Internationalized_country_code_top-level_domain
.. _dbox: https://doc.dovecot.org/admin_manual/mailbox_formats/dbox/
.. _Dovecot: https://dovecot.org/
.. _IDN: https://en.wikipedia.org/wiki/Internationalized_domain_name
.. _Maildir: https://doc.dovecot.org/admin_manual/mailbox_formats/maildir/
.. _Git: https://git-scm.com
.. _Postfix: http://www.postfix.org/
.. _PostgreSQL: https://www.postgresql.org/
.. _Psycopg: https://www.psycopg.org/
.. _Python: https://www.python.org/
.. _relocated: http://www.postfix.org/relocated.5.html
.. _transport: http://www.postfix.org/transport.5.html
