.\" $Id$
.TH "VMM" "1" "27. May 2008" "Pascal Volk"
.SH NAME
vmm \- command line tool to manage email domains/accounts/aliases
.SH SYNOPSIS
.B vmm
\fIsubcommand\fP \fIobject\fP [ \fIargs\fP ]
.SH DESCRIPTION
\fBvmm\fP (Virtual Mail Manager) is a command line tool for
administrators/postmasters to manage domains, accounts and aliases. It's
designed for Dovecot and Postfix with a PostgreSQL backend.
.SH SUBCOMMANDS
Each subcommand has both a long and a short form. Both forms are case sensitive.
.SS GENERAL SUBCOMMANDS
.TP
\fBconfigure\fP (\fBcf\fP) [ \fIsection\fP ]
Starts the interactive configuration for all configuration sections.
.br
If the optional argument \fIsection\fP is given, only the configuration options
from the given section will be displayed and will be configurable. The following
sections are available:
.RS
.PD 0
.TP
-
.B
database
.TP
-
.B
maildir
.TP
-
.B
services
.TP
-
.B
domdir
.TP
-
.B
bin
.TP
-
.B
misc
.PD
.RE
.LP
.PP
.nf
Example:
\fBvmm configure services\fP
* Config section: services
Enter new value for pop3 [True]:
Enter new value for smtp [True]:
Enter new value for imap [True]:
Enter new value for managesieve [True]: false
.fi
.PP
.TP
\fBgetuser\fP (\fBgu\fP) \fIuserid\fP
If only the userid is available, for example from process list, the subcommand
\fBgetuser\fP will show the user's address.
.PP
.nf
Example:
\fBvmm getuser 70004\fP
Account information
-------------------
Gid............: 70000
Uid............: 70004
Address........: c.user@example.com
.fi
.\"
.TP
\fBlistdomains\fP (\fBld\fP) [ \fIpattern\fP ]
This subcommand lists all available domains. The output can be limited with an
optional \fIpattern\fP.
.br
To perform a wild card search, the % character can be used at the start and/or
the end of the \fIpattern\fP.
.PP
.nf
Example:
\fBvmm listdomains example%\fP
Matching domains
----------------
example.com
example.net
example.org
.fi
.\"
.TP
\fBhelp\fP (\fBh\fP)
Prints all available commands to stderr. After this \fBvmm\fP exits.
.TP
\fBversion\fP (\fBv\fP)
Prints the version information from \fBvmm\fB.
.\"
.SS DOMAIN SUBCOMMANDS
.TP
\fBdomainadd\fP (\fBda\fP) \fIdomain\fP [ \fItransport\fP ]
Adds the new \fIdomain\fP into the database.
.br
If the optional argument \fItransport\fP is given, it will overwrite the
default transport from \fBvmm.cfg\fP (misc/transport). The specified transport
will be the default transport for all new accounts in this domain.
.PP
.nf
Examples:
\fBvmm domainadd support.example.com smtp:mx1.example.com
vmm domainadd sales.example.com\fP
.fi
.TP
\fBdomaininfo\fP (\fBdi\fP) \fIdomain\fP [ \fIdetailed\fP ]
This subcommand shows some information about the given domain.
.br
If the keyword '\fBdetailed\fP' is specified as optional argument, all
available accounts and aliases will be listed.
.PP
.nf
Example:
\fBvmm domaininfo sales.example.com\fP
Domain information
------------------
Domainname.....: sales.example.com
Domaindir......: /home/mail/5/70002
Gid............: 70002
Accounts.......: 0
Transport......: dovecot:
Aliases........: 0
.fi
.TP
\fBdomaintransport\fP (\fBdt\fP) \fIdomain\fP \fItransport\fP [ \fIforce\fP ]
A new transport for the indicated domain can be set with this subcommand.
.br
If the additional keyword '\fBforce\fP' is given all account specific transport
settings will be overwritten.
.br
Otherwise this setting will affect only new created accounts.
.PP
.nf
Example:
\fBvmm domaintransport support.example.com dovecot:\fP
.fi
.TP
\fBdomaindelete\fP (\fBdd\fP) \fIdomain\fP [ \fIdelalias\fP | \fIdeluser\fP |\
\fIdelall\fP ]
This subcommand deletes the specified \fIdomain\fP.
.br
If there are accounts and/or aliases assigned to the given domain, \fBvmm\fP
will abort the requested operation and show a error message. If you know, what
you are doing, you can specify one of the following keywords: '\fPdelalias\fP', '\fBdeluser\fP' or '\fBdelall\fP'.
.br
If you really always know what you are doing, edit your \fBvmm.cfg\fP and set
the option \fIforcedel\fP, in section \fImisc\fP, to true.
.\"
.SS ACCOUNT SUBCOMMANDS
.TP
\fBuseradd\fP (\fBua\fP) \fIaddress\fP [ \fIpassword\fP ]
Use this subcommand to create a new email account for the given \fIaddress\fP.
.br
If the \fIpassword\fP is not provided, \fBvmm\fP will prompt for it
interactively.
.PP
.nf
Examples:
\fBvmm ua d.user@example.com 'A 5ecR3t P4s5\\/\\/0rd'\fP
\fBvmm ua e.user@example.com\fP
Enter new password:
Retype new password:
.fi
.TP
\fBuserinfo\fP (\fBui\fP) \fIaddress\fP [ \fIdu\fP ]
This subcommand displays some information about the account specified by
\fIaddress\fP.
.br
If the optional argument \fIdu\fP is given, the disk usage of users maildir will
be summarized and displayed too.
.TP
\fBusername\fP (\fBun\fP) \fIaddress\fP \fI'Users Name'\fP
The user's real name can be set/updated with this subcommand.
.PP
.nf
Example:
\fBvmm un d.user@example.com 'John Doe'\fP
.fi
.TP
\fBuserpassword\fP (\fBup\fP) \fIaddress\fP [ \fIpassword\fP ]
The \fIpassword\fP from an account can be updated with this subcommand.
.br
If the \fIpassword\fP is not provided, \fBvmm\fP will prompt for it
interactively.
.PP
.nf
Example:
\fBvmm up d.user@example.com 'A |\\/|0r3 5ecur3 P4s5\\/\\/0rd?'\fP
.fi
.TP
\fBusertransport\fP (\fBut\fP) \fIaddress\fP \fItransport\fP
A different transport for an account can be specified with this subcommand.
.PP
.nf
Example:
\fBvmm ut d.user@example.com smtp:pc105.it.example.com\fP
.fi
.TP
\fBuserdisable\fP (\fBu0\fP) \fIaddress\fP [ \fIsmtp\fP | \fIpop3\fP |\
\fIimap\fP | \fImanagesieve\fP | \fIall\fP ]
If a user shouldn't have access to one or all services you can restrict the
access with this subcommand.
.br
If neither a service nor the keyword '\fIall\fP' is given all services ('smtp', 'pop3', 'imap', and 'managesieve') will be disabled for the account with the specified
\fIaddress\fP. Otherwise only the specified service will be restricted.
.PP
.nf
Examples:
\fBvmm u0 b.user@example.com imap\fP
\fBvmm userdisable c.user@example.com\fP
.fi
.TP
\fBuserenable\fP (\fBu1\fP) \fIaddress\fP [ \fIsmtp\fP | \fIpop3\fP |\
\fIimap\fP | \fImanagesieve\fP | \fIall\fP ]
To allow access to one or all restricted services use this subcommand.
.br
If neither a service nor the keyword '\fIall\fP' is given all services ('smtp', 'pop3', 'imap', and 'managesieve') will be enabled for the account with the specified
\fIaddress\fP. Otherwise only the specified service will be enabled.
.TP
\fBuserdelete\fP (\fBud\fP) \fIaddress\fP
Use this subcommand to delete the account with the given \fIaddress\fP.
.\"
.SS ALIAS SUBCOMMANDS
.TP
\fBaliasadd\fP (\fBaa\fP) \fIalias\fP \fItarget\fP
This subcommand is used to create a new alias.
.PP
.nf
Examples:
\fBvmm aliasadd john.doe@example.com d.user@example.com\fP
\fBvmm aa support@example.com d.user@example.com\fP
\fBvmm aa support@example.com e.user@example.com\fP
.fi
.TP
\fBaliasinfo\fP (\fBai\fP) \fIalias\fP
Information about an alias can be displayed with this subcommand.
.PP
.nf
Example:
\fBvmm aliasinfo support@example.com\fP
Alias information
-----------------
Mail for support@example.com goes to:
-> d.user@example.com
-> e.user@example.com
.fi
.TP
\fBaliasdelete\fP (\fBad\fP) \fIalias\fP [ \fItarget\fP ]
Use this subcommand to delete the \fIalias\fP.
.br
If the optional destination address \fItarget\fP is given, only this
destination will be removed from the \fIalias\fP.
.PP
.nf
Example:
\fBvmm ad support@example.com d.user@example.com\fP
.fi
.SH FILES
/usr/local/etc/vmm.cfg
.SH SEE ALSO
vmm.cfg(5), configuration file for vmm
.SH AUTHOR
\fBvmm\fP and its man pages were written by Pascal Volk
<\fIp.volk@veb-it.de\fP> and are licensed under the terms of the BSD License.