Tree [659c44] default /
History



File Date Author Commit
VirtualMailManager 2014-03-23 Pascal Volk Pascal Volk [ee3c6c] merged changes from default(ef2b73d461d4).
doc 2014-03-09 Pascal Volk Pascal Volk [b65c3a] doc/web: dovecot_configuration: corrected 'user...
man 2014-02-23 Pascal Volk Pascal Volk [935b49] {man1,doc/web}: Added description of userpasswo...
pgsql 2014-02-12 Pascal Volk Pascal Volk [348cd2] pgsql/create_tables: Set default transport to l...
po 2014-03-24 Pascal Volk Pascal Volk [659c44] po: Updated Finnish translation (translated by ...
postfix 2012-06-28 Pascal Volk Pascal Volk [a4aead] Merged changes from v0.6.x(28230a8230bf).
.hgignore 2012-07-29 Pascal Volk Pascal Volk [b62210] .hgignore: "doc/build" is no longer required.
.hgsigs 2014-02-01 Pascal Volk Pascal Volk [5716bf] Added signature for changeset 93b2f5859866
.hgtags 2014-02-01 Pascal Volk Pascal Volk [5edd58] Added tag vmm-0.6.2 for changeset 93b2f5859866
COPYING 2014-01-27 Pascal Volk Pascal Volk [58815c] Updated copyright notices to include the year 2...
ChangeLog 2014-02-01 Pascal Volk Pascal Volk [93b2f5] Released vmm-0.6.2
Configure.Dovecot_2 2014-02-17 Pascal Volk Pascal Volk [fae6a4] Added a note about the usage of CRAM-MD5.
INSTALL 2013-03-17 Pascal Volk Pascal Volk [42addf] {INSTALL,doc}: Updated documentation.
NEWS 2014-02-01 Pascal Volk Pascal Volk [93b2f5] Released vmm-0.6.2
README 2014-02-02 Pascal Volk Pascal Volk [6be7e9] README: Updated/cleaned up dependences.
TODO 2012-06-28 Pascal Volk Pascal Volk [11ed67] TODO: Removed "listpwschemes" entry.
UPGRADE 2014-02-01 Pascal Volk Pascal Volk [19184d] UPGRADE: Added a note about upgrading from 0.6.1.
install.sh 2013-01-06 Pascal Volk Pascal Volk [5365af] {install,upgrade}.sh: Removed disused code.
setup.cfg 2009-08-09 Pascal Volk Pascal Volk [485d3f] Removed svn keywords, more POSIX compliant shel...
setup.py 2014-02-02 Pascal Volk Pascal Volk [2a7505] Merged changes from default(5716bf441ceb).
update_config.py 2014-02-02 Pascal Volk Pascal Volk [2a7505] Merged changes from default(5716bf441ceb).
upgrade.sh 2013-01-06 Pascal Volk Pascal Volk [5365af] {install,upgrade}.sh: Removed disused code.
vmm 2014-02-03 Pascal Volk Pascal Volk [74ee0a] VMM/cli: Make sure that there is at least one a...
vmm.cfg 2014-02-17 Pascal Volk Pascal Volk [8167ba] merged changes from default(8c7eeb2bc139).

Read Me

.. -*- 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 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
     * 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 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

vmm depends on Python (≥ 2.4.0) and Psycopg_ (≥ 2.0) or pyPgSQL_ (≥ 2.5.1).
Psycopg and pyPgSQL are depending on parts of the *eGenix.com mx Base
Distribution* (mxDateTime_ and mxTools_).

If you are using Python ≤ 2.5.0:

  • if you want to store your users' passwords as ``PLAIN-MD4`` digest in the
    database, vmm will try to use ``Crypto.Hash.MD4`` from PyCrypto_
  • if you are using Dovecot ≥ v1.1.0 and you want to store your users'
    passwords as ``SHA256`` or ``SSHA256`` hashes, vmm will try to use
    ``Crypto.Hash.SHA256`` from PyCrypto. For ``SHA256``/``SSHA256`` you
    should have installed PyCrypto, at least in version 2.1.0alpha1.

  When the Crypto.Hash module couldn't be imported, vmm will use
  dovecotpw/doveadm, if  the *misc.password_scheme* setting in your *vmm.cfg*
  is set to ``PLAIN-MD4``, ``SHA256`` or ``SSHA256``.

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

• main repository

  ‣ ``http://hg.localdomain.org/vmm``

• mirror repositories

  ‣ ``https://bitbucket.org/pvo/vmm``
  ‣ ``http://hg.code.sf.net/p/vmm/code``

The Debian project is hosting the 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
.. _dbox: http://wiki2.dovecot.org/MailboxFormat/dbox
.. _Dovecot: http://dovecot.org/
.. _IDN: http://en.wikipedia.org/wiki/Internationalized_domain_name
.. _Maildir: http://wiki2.dovecot.org/MailboxFormat/Maildir
.. _Mercurial: http://mercurial.selenic.com/
.. _mxDateTime: http://www.egenix.com/products/python/mxBase/mxDateTime/
.. _mxTools: http://www.egenix.com/products/python/mxBase/mxTools/
.. _Postfix: http://www.postfix.org/
.. _PostgreSQL: http://www.postgresql.org/
.. _Psycopg: http://initd.org/psycopg/
.. _PyCrypto: http://www.pycrypto.org/
.. _pyPgSQL: http://pypgsql.sourceforge.net/
.. _Python: http://www.python.org/
.. _relocated: http://www.postfix.org/relocated.5.html
.. _transport: http://www.postfix.org/transport.5.html