.TH"VMM""1""2011-11-12""vmm 0.6""vmm".SHNAMEvmm \- command line tool to manage email domains/accounts/aliases.\" -----------------------------------------------------------------------.SHSYNOPSIS.Bvmm.IRsubcommand" [""argument ..."].\" -----------------------------------------------------------------------.SHDESCRIPTION.Bvmm(a virtual mail manager) is the easy to use command line tool foradministrators and postmasters to manage (alias) domains, accounts, aliasesand relocated users.It allows you to simply and quickly administer your mail server..brIt's designed for Dovecot and Postfix with a PostgreSQL backend..PPEach.Isubcommandhas both a long and a short form.The short form is shown enclosed in parentheses.Both forms are case sensitive..PPMost of the.IRsubcommandstake one or more.IRarguments..\" -----------------------------------------------------------------------.SHARGUMENTS.TP12.IaddressThe complete e\-mail address.RI(local\-part@fqdn)of an user account, alias address or relocated user..\" --------------------------.TP.IdestinationIs either an e\-mail.Iaddresswhen used with.IR"ALIAS SUBCOMMANDS".Or a.Ifqdnwhen used with.IR"ALIASDOMAIN SUBCOMMANDS"..\" --------------------------.TP.IfqdnThe fully qualified domain name \- without the trailing dot \- of a domainor alias domain..\" --------------------------.TP.ImessagesAn integer value which specifies a quota limit in number of messages..B0(zero) means unlimited \- no quota limit for the number of messages..\" --------------------------.TP.Ioptionis the name of a configuration option, prefixed with the section name and adot.For example:.IBmisc.transport.brAll configuration options are described in.BRvmm.cfg(5)..\" --------------------------.TP.IserviceThe name of a service, commonly used with Dovecot.Supported services are:.BRimap", "pop3", "sieve" and "smtp..\" --------------------------.TP.IstorageSpecifies a quota limit in bytes.One of the following prefixes can be appended to the integer value:.BRb" (bytes), "k" (kilobytes), "M" (megabytes) or "G(gigabytes)..B0(zero) means unlimited \- no quota limit in bytes..\" --------------------------.TP.ItransportA transport for Postfix, written as:.IBtransport:or.IBtransport:\c.IRnexthop.See.BRtransport(5)for more details..\" -----------------------------------------------------------------------.SHGENERALSUBCOMMANDS.SSconfigget(cg).BI"vmm configget"" option".PPThis subcommand is used to display the actual value of the givenconfiguration.IRoption..PPExample:.PP.nf.Bvmmconfiggetmisc.crypt_sha512_roundsmisc.crypt_sha512_rounds = 5000.fi.\" ------------------------------------.SSconfigset(cs).Bvmmconfigset.Ioptionvalue.PPUse this subcommand to set or update a single configuration option's value..Ioptionis the configuration option,.Ivalueis the.IRoption'snew value..IPNote:This subcommand will create a new.Ivmm.cfgwithout any comments.Your current configuration file will be backed as.IRvmm.cfg.bak..PPExample:.PP.nf.Bvmmconfiggetmisc.transportmisc.transport = dovecot:.Bvmmconfigsetmisc.transportlmtp:unix:private/dovecot\-lmtp.Bvmmcgmisc.transportmisc.transport = lmtp:unix:private/dovecot\-lmtp.fi.\" ------------------------------------.SSconfigure(cf).Bvmmconfigure.RI[section].PPStarts the interactive configuration for all configuration sections..PPIn this process the currently set value of each option will be displayed insquare brackets.If no value is configured, the default value of each option will bedisplayed in square brackets.Press the return key, to accept the displayed value..PPIf the optional argument.Isectionis given, only the configuration options from the given section will bedisplayed and will be configurable.The following sections are available:.RS.TP10.BaccountAccount settings.TP.BbinPaths to external binaries.TP.BdatabaseDatabase settings.TP.BdomainDomain settings.TP.BmailboxMailbox settings.TP.BmiscMiscellaneous settings.RE.PPAll configuration options are described in.BRvmm.cfg(5)..IPNote:This subcommand will create a new.Ivmm.cfgwithout any comments.Your current configuration file will be backed as.IRvmm.cfg.bak..PPExample:.PP.nf.BvmmconfiguremailboxUsing configuration file: /usr/local/etc/vmm.cfg* Configuration section: `mailbox'Enter new value for option folders [Drafts:Sent:Templates:Trash]:Enter new value for option format [maildir]: mdboxEnter new value for option subscribe [True]:Enter new value for option root [Maildir]: mdbox.fi.\" ------------------------------------.SSgetuser(gu).BI"vmm getuser"" uid".PPIf only the.Iuidis available, for example from process list, the subcommand.Bgetuserwill show the user's address..PPExample:.PP.nf.Bvmmgetuser79876Account information------------------- UID............: 79876 GID............: 70704 Address........: a.user@example.com.fi.\" ------------------------------------.SShelp(h).Bvmmhelp.RI[subcommand].PPPrints a list of available subcommands with a short description to stdout.When a.Isubcommandwas given, help for that.Isubcommandwill be displayed.After this.Bvmmexits..\" ------------------------------------.SSlistdomains(ld).Bvmmlistdomains.RI[pattern].PPThis subcommand lists all available domains.All domain names will be prefixed either with `[+]', if the domain is aprimary domain, or with `[-]', if it is an alias domain name.The output can be limited with an optional.IRpattern..PPTo perform a wild card search, the % character can be used at the startand/or the end of the.IRpattern..PPExample:.PP.nf.Bvmmlistdomains%example%Matching domains---------------- [+] example.com [\-] e.g.example.com [\-] example.name [+] example.net [+] example.org.fi.\" ------------------------------------.SSlistpwschemes(lp).Bvmmlistpwschemes.PPThis subcommand lists all password schemes which could be used in the.Ivmm.cfgas value of the.Imisc.password_schemeoption.The output varies, depending on the used Dovecot version and the system'slibc..brWhen your Dovecot installation isn't too old, you will see additionally afew usable encoding suffixes.One of them can be appended to the password scheme..PPExample:.PP.nf.BvmmlistpwschemesUsable password schemes----------------------- CRYPT SHA512-CRYPT LDAP-MD5 DIGEST-MD5 SHA256 SHA512 SSHA512 SKEY SSHA NTLM RPA MD5-CRYPT HMAC-MD5 SHA1 PLAIN SHA CRAM-MD5 SSHA256 MD5 LANMAN CLEARTEXT PLAIN-MD5 PLAIN-MD4 OTP SMD5 SHA256-CRYPTUsable encoding suffixes------------------------ .B64 .BASE64 .HEX.fi.\" ------------------------------------.SSversion(v).Bvmmversion.PPPrints.BRvmm'sversion and copyright information to stdout.After this.Bvmmexits..\" -----------------------------------------------------------------------.SHDOMAINSUBCOMMANDS.SSdomainadd(da).Bvmmdomainadd.IRfqdn" ["transport].PPAdds the new domain into the database and creates the domain directory..PPIf the optional argument.Itransportis given, it will override the default transport.RI(misc.transport") from "vmm.cfg.The specified.Itransportwill be the default transport for all new accounts in this domain..PPConfiguration\-related behavior:.RS.TP.Idomain.auto_postmasterWhen that option is set to.BRtrue" (default) "vmmwill automatically create the postmaster account for the new domain andprompt for.BIpostmaster@fqdn\c\(aqs password..TP.Iaccount.random_passwordWhen the value of that option is also set to.BRtrue", "vmmwill automatically create the postmaster account for the new domain andprint the generated postmaster password to stdout..RE.PPExamples:.PP.nf.Bvmmdomainaddsupport.example.comsmtp:[mx1.example.com]:2025Creating account for postmaster@support.example.comEnter new password:Retype new password:.Bvmmcsaccount.random_passwordtrue.Bvmmdomainaddsales.example.comCreating account for postmaster@sales.example.comGenerated password: pLJUQ6Xg_z.fi.\" ------------------------------------.SSdomaindelete(dd).BI"vmm domaindelete "fqdn.RB[force].PPThis subcommand deletes the domain specified by.IRfqdn..PPIf there are accounts, aliases and/or relocated users assigned to the givendomain,.Bvmmwill abort the requested operation and show an error message.If you know, what you are doing, you can specify the optional keyword.BRforce..PPIf you really always know what you are doing, edit your.Ivmm.cfgand set the option.Idomain.force_deletionto.BRtrue..\" ------------------------------------.SSdomaininfo(di).Bvmmdomaininfo.IRfqdn\ [ details ].PPThis subcommand shows some information about the given domain..PPFor a more detailed information about the domain the optional argument.Idetailscan be specified.A possible.Idetailsvalue can be one of the following five keywords:.RS.TP14.Baccountsto list the e\-mail addresses of all existing user accounts.TP.Baliasdomainsto list all assigned alias domain names.TP.Baliasesto list all available alias e\-mail addresses.TP.Brelocatedto list the e\-mail addresses of all relocated users.TP.Bfullto list all information mentioned above.RE.PPExample:.PP.nf.Bvmmdomaininfosales.example.comDomain information------------------ Domain Name......: sales.example.com GID..............: 70708 Domain Directory.: /srv/mail/c/70708 Quota Limit/User.: Storage: 500.00 MiB; Messages: 10,000 Active Services..: IMAP SIEVE Transport........: lmtp:unix:private/dovecot-lmtp Alias Domains....: 0 Accounts.........: 1 Aliases..........: 0 Relocated........: 0.fi.\" ------------------------------------.SSdomainquota(dq).Bvmmdomainquota.IR"fqdn storage"" ["messages].RB[force].PPThis subcommand is used to configure a new quota limit for the accounts ofthe domain - not for the domain itself..PPThe default quota limit for accounts is defined in the.IRvmm.cfg" ("misc.quota_bytes" and "misc.quota_messages).The new quota limit will be applied to all newly created accounts.If you want to apply the new quota limit also to existing accounts, youhave to give the optional keyword.BRforce..brWhen the argument.Imessageswas omitted the default number of messages.B0(zero) will be applied..PPExample:.PP.nf.Bvmmdomainquotaexample.com1gforce.fi.\" ------------------------------------.SSdomainservices(ds).Bvmmdomainservices.IRfqdn" [""service ..."].RB[force].PPTo define which services could be used by the users of the domain \(em withthe given.Ifqdn\(em use this subcommand..PPEach specified.Iservicewill be enabled/usable.All other services will be deactivated/unusable.Possible service names are: .BRimap", "pop3", "sieve" and "smtp..brWhen the keyword.Bforcewas omitted, the service setting will be the default for new createdaccounts.Otherwise it will additionally apply the settings to all existing accountsof the domain..\" ------------------------------------.SSdomaintransport(dt).BI"vmm domaintransport"" fqdn transport".RB[force].PPA new transport for the indicated domain can be set with this subcommand..PPIf the optional keyword.Bforceis given all account specific transport settings will be also updated.Otherwise this setting will affect only new created accounts..PPExample:.PP.nf.Bvmmdomaintransportsupport.example.comdovecot:.fi.\" -----------------------------------------------------------------------.SHALIASDOMAINSUBCOMMANDSAn alias domain is an alias for a domain that was previously added with thesubcommand.BRdomainadd.All accounts, aliases and relocated users from the domain will be alsoavailable in the alias domain..brIn the following is to be assumed that example.net is an alias forexample.com..PPPostfix will not accept erroneously e\-mails for unknown.user@example.netand bounce them back later to the mostly faked sender.Postfix will immediately reject all e\-mails addressed to nonexistentusers..brThis behavior is ensured as long as you use the recommended databasequeries in your.I$config_directory/pgsql\-*.cfconfiguration files..\" ------------------------------------.SSaliasdomainadd(ada).BI"vmm aliasdomainadd"" fqdn destination".PPThis subcommand adds the new alias domain.RI(fqdn)to the.Idestinationdomain that should be aliased..PPExample:.PP.nf.Bvmmaliasdomainaddexample.netexample.com.fi.\" ------------------------------------.SSaliasdomaindelete(add).BI"vmm aliasdomaindelete"" fqdn".PPUse this subcommand if the alias domain.Ifqdnshould be removed..PPExample:.PP.nf.Bvmmaliasdomaindeletee.g.example.com.fi.\" ------------------------------------.SSaliasdomaininfo(adi).BI"vmm aliasdomaininfo"" fqdn".PPThis subcommand shows to which domain the alias domain.Ifqdnis assigned to..PPExample:.PP.nf.Bvmmadiexample.netAlias domain information------------------------ The alias domain example.net belongs to: * example.com.fi.\" ------------------------------------.SSaliasdomainswitch(ads).BI"vmm aliasdomainswitch"" fqdn destination".PPIf the destination of the existing alias domain.Ifqdnshould be switched to another.Idestinationuse this subcommand..nf.PPExample:.PP.Bvmmaliasdomainswitchexample.nameexample.org.fi.\" -----------------------------------------------------------------------.SHACCOUNTSUBCOMMANDS.SSuseradd(ua).Bvmmuseradd.IRaddress" ["password].PPUse this subcommand to create a new e\-mail account for the given.IRaddress..PPIf the.Ipasswordis not provided,.Bvmmwill prompt for it interactively.When no.Ipasswordis provided and.Iaccount.random_passwordis set to.BRtrue", "vmmwill generate a random password and print it to stdout after the accounthas been created..PPExamples:.PP.nf.Bvmmuad.user@example.com\(dqA5ecR3tP4s5\(rs/\(rs/0rd\(dq.Bvmmuseradde.user@example.comEnter new password:Retype new password:.fi.\" ------------------------------------.SSuserdelete(ud).BI"vmm userdelete"" address".RB[force].PPUse this subcommand to delete the account with the given.IRaddress..PPIf there are one or more aliases with an identical destination address,.Bvmmwill abort the requested operation and show an error message.To prevent this, specify the optional keyword.BRforce..\" ------------------------------------.SSuserinfo(ui).B"vmm userinfo".IRaddress" ["details].PPThis subcommand displays some information about the account specified by.IRaddress..PPIf the optional argument.Idetailsis given some more information will be displayed.Possible values for.Idetailsare:.RS.TP8.Baliasesto list all alias addresses with the destination.Iaddress.TP.Bduto display the disk usage of the user's mail directory.In order to summarize the disk usage each time the this subcommand isexecuted automatically, set.Iaccount.disk_usagein your.Ivmm.cfgto.BRtrue..TP.Bfullto list all information mentioned above.RE.PPExample:.PP.nf.Bvmmuid.user@example.comAccount information------------------- Address..........: d.user@example.com Name.............: None UID..............: 79881 GID..............: 70704 Home.............: /srv/mail/2/70704/79881 Mail_Location....: mdbox:~/mdbox Quota Storage....: [ 0.00%] 0/500.00 MiB Quota Messages...: [ 0.00%] 0/10,000 Transport........: lmtp:unix:private/dovecot-lmtp SMTP.............: disabled POP3.............: disabled IMAP.............: enabled SIEVE............: enabled.fi.\" ------------------------------------.SSusername(un).BI"vmm username"" address name".PPThe user's real.Inamecan be set/updated with this subcommand..PPExample:.PP.nf.Bvmmund.user@example.com\(dqJohnDoe\(dq.fi.\" ------------------------------------.SSuserpassword(up).BI"vmm userpassword"" address".RI[password].PPThe password of an account can be updated with this subcommand..PPIf no.Ipasswordwas provided,.Bvmmwill prompt for it interactively..PPExample:.PP.nf.Bvmmupd.user@example.com\(dqA|\(rs/|0r35ecur3P4s5\(rs/\(rs/0rd?\(dq.fi.\" ------------------------------------.SSuserquota(uq).BI"vmm userquota"" address storage".RI[messages].PPThis subcommand is used to set a new quota limit for the given account..PPWhen the argument.Imessageswas omitted the default number of messages.B0(zero) will be applied..PPExample:.PP.nf.Bvmmuserquotad.user@example.com750m.fi.\" ------------------------------------.SSuserservices(us).Bvmmuserservices.IRaddress" [""service ..."].PPTo grant a user access to the specified services, use this command..PPAll omitted services will be deactivated/unusable for the user with thegiven.IRaddress..\" ------------------------------------.SSusertransport(ut).BI"vmm usertransport"" address transport".PPA different.Itransportfor an account can be specified with this subcommand..PPExample:.brAssumed you want to use Dovecot's.BRdsync(1)to convert a user's mailbox from Maildir format to mdbox format, youcan tell Postfix to retry later..PP.nf.Bvmmutd.user@example.com\(dqretry:4.0.0Mailboxbeingmigrated\(dq# convert the mailbox ... then set the transport to Dovecot's lmtp.Bvmmutd.user@example.comlmtp:unix:private/dovecot\-lmtp.fi.\" -----------------------------------------------------------------------.SHALIASSUBCOMMANDS.SSaliasadd(aa).BI"vmm aliasadd"" address destination ...".PPThis subcommand is used to create a new alias.Iaddresswith one or more.Idestinationaddresses..PPExamples:.PP.nf.Bvmmaliasaddjohn.doe@example.comd.user@example.com.Bvmmaasupport@example.comd.user@example.come.user@example.com.fi.\" ------------------------------------.SSaliasdelete(ad).BI"vmm aliasdelete"" address".RI[destination].PPUse this subcommand to delete the alias with the given.IRaddress..PPIf the optional.Idestinationaddress is given, only thisdestination will be removed from the alias..PPExample:.PP.nf.Bvmmadsupport@example.comd.user@example.com.fi.\" ------------------------------------.SSaliasinfo(ai).BI"vmm aliasinfo"" address".PPInformation about the alias with the given.Iaddresscan be displayed with this subcommand..PPExample:.PP.nf.Bvmmaliasinfosupport@example.comAlias information----------------- Mail for support@example.com will be redirected to: * e.user@example.com.fi.\" -----------------------------------------------------------------------.SHRELOCATEDSUBCOMMANDS.SSrelocatedadd(ra).BI"vmm relocatedadd"" address newaddress".PPA new relocated user can be created with this subcommand..PP.Iaddressis the user's ex\-email address, for example b.user@example.com, and.Inewaddresspoints to the new email address where the user can be reached..PPExample:.PP.nf.Bvmmrelocatedaddb.user@example.comb\-user@company.tld.fi.\" ------------------------------------.SSrelocatedinfo(ri).BI"vmm relocatedinfo "address.PPThis subcommand shows the new address of the relocated user with the given.IRaddress..PPExample:.PP.nf.Bvmmrelocatedinfob.user@example.comRelocated information--------------------- User `b.user@example.com' has moved to `b\-user@company.tld'.fi.\" ------------------------------------.SSrelocateddelete(rd).BI"vmm relocateddelete "address.PPUse this subcommand in order to delete the relocated user with the given.IRaddress..PPExample:.PP.nf.Bvmmrelocateddeleteb.user@example.com.fi.\" -----------------------------------------------------------------------.SHFILES.TP.I/root/vmm.cfgwill be used when found..TP.I/usr/local/etc/vmm.cfgwill be used when the above file doesn't exist..TP.I/etc/vmm.cfgwill be used when none of the both above mentioned files exists..\" -----------------------------------------------------------------------.SHSEEALSO.BRdsync(1),.BRtransport(5),.BRvmm.cfg(5).\" -----------------------------------------------------------------------.SHINTERNETRESOURCES.TPWikihttp://vmm.localdomain.org/.TPProject sitehttp://sf.net/projects/vmm/.TPBug trackerhttps://bitbucket.org/pvo/vmm/issues.\" -----------------------------------------------------------------------.SHCOPYINGvmm and its manual pages were written by Pascal Volk <user+vmm ATlocalhost.localdomain.org> and are licensed under the terms of the BSDLicense.