VMailMgr (short for Virtual MAIL ManaGeR) is a package of programs designed to manage multiple domains of mail addresses and mailboxes on a single host. It co-operates with qmail for mail delivery and program control.
VMailMgr is:
A series of utilities for managing virtual domains which include a password checking interface for qmail which replaces the usual checkpassword, and an authentication module for Courier IMAP, that provide access to the virtual mailboxes by one of three methods:
You should use it if:
You prefer to have each domain controlled by a seperate username, allowing the use of system quotas and better security
The newest version of this can be found on my homepage http://www.clearrivertech.com/linux/HOWTO as SGML source, as HTML and as TEXT. Other versions may be found in different formats at the LDP homepage http://www.linuxdoc.org/. A copy can also be found on the VMailMgr homepage http://em.ca/~bruceg/vmailmgr/ in its HTML version as well as in the VMailMgr source package as both SGML source and as HTML.
Comments on this HOWTO should be directed to the VMailMgr mailing list. To subscribe, send an email to vmailmgr@lists.em.ca.
This document was started by Bruce Guenter and reworked by Dan Kuykendall.
Old Version
v1.0 (April 20, 2000)
v1.1 (April 23, 2000)
Copyright (c) Dan Kuykendall. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation
A copy of the license is available at GNU Free Documentation License.
Thanks to Bruce Guenter for VMailMgr and the core of this HOWTO. Thanks to Mike Bell, who always seems to have the answers to my questions. Finally, thanks to all those on the vmailmgr@lists.em.ca mailing list who have helped me, or asked the same stuff so many times that I had to write this to stop the repeat questions.
If you get the binary RPMS you will need at least the vmailmgr and vmailmgr-daemon packages.
Simply compile the src.rpm file with the `rpm --rebuild
` command.
-Example-
rpm -ivh vmailmgr-0.96.6-1.src.rpm
After compiling the source rpms, the binaries will be located
in `/usr/src/redhat/RPMS/i386/
` or something similar.
Simply run the following command for each package
rpm -ivh <location>/<package.i386.rpm>-Example-
rpm -ivh /usr/src/redhat/RPMS/i386/vmailmgr-0.96.6-1.i386.rpm rpm -ivh /usr/src/redhat/RPMS/i386/VMailMgr-daemon-0.96.6-1.i386.rpm
If you dont ue RPMS you can install from source.
Run the following command
(As non-root user) tar zxf <package.tar.gz> cd <newly created dir> ./configure make (As root) make install-Example-
(As non-root user) tar zxf vmailmgr-0.96.6.tar.gz cd vmailmgr-0.96.6 ./configure make (As root) make install
The following steps are necessary to set up a virtual domain with vmailmgr
(assuming vmailmgr has been compiled and installed). As an example, we'll
set up a virtual user `me@mydomain.org
`, with aliases of `myself@mydomain.org
`
and `myname@mydomain.org
`.
mail.mydomain.com
, `virtualdomains
` needs an entry like `mail.mydomain.com:myuser
`
For the example, we'll assume that the mail exchanger for mydomain.org is already set up to point to your computer.
myuser
`./var/qmail/control
` `rcpthosts
` and `virtualdomains
`.
rcpthosts
` :
add the line `mydomain.org
`. virtualdomains
` :
add the line `mydomain.org:myuser
`.anything.mydomain.org
` be delivered in the same way, add the following
rcpthosts
` :
add the line `.mydomain.org
`. virtualdomains
` :
add the line `.mydomain.org:myuser
`.checkvpw
` as the password checker. This step
is dependant on how you have installed qmail.
checkpassword
` in the command you use to invoke qmail-popup/qmail-pop3d
(either in `/etc/inet.conf
` or in a `tcpserver
` command) with `checkvpw
`.echo checkvpw > /var/qmail/control/checkpassword
`su - myuser
`) or log in (with either telnet or at the console) as
the new user, and use the included programs to add users and aliases.
For our example, we would
vadduser me
` (which prompts for a password)vaddalias me myself
`vaddalias me myname
`qmail-send
` to
make it read the new `virtualdomains
` table.
If you are using `inetd
` to launch `qmail-popup
`, `kill -HUP
` the `inetd
` process as well.
There are two ways to log in without using multiple IP addresses.
userSEPvirtual.domain.org
`, where `user
` is the mailbox name of the virtual user, SEP is one of `@
` or
`:
` (by default, this is configurable in the `/etc/vmailmgr/
' directory), and `virtual.domain.org
' is the virtual domain's name, as
listed in `/var/qmail/control/virtualdomains
'. baseuser-user
', where `user
' is the same as above, and
`baseuser
' is the username of the managing user. /var/qmail/control/virtualdomains
' contains
testdomain.org:testuserUser `
myuser
' exists, and has set up a virtual mailbox with the name `me
'. The `separators
' variable in `/etc/vmailmgr/
' contains
`@:
'. This virtual user could log in as `me@mydomain.com
', `me:mydomain.cm
', or `myuser-me
'.
In the `vmailmgr/
' configuration directory, there is an entry called `default-username
'. If mail to a virtual domain does not match any
users or aliases in that domain, it is delivered to the name listed in this configuration item if it exists (which defaults to `+
'). To make this deliver
to you, simply type:
vaddalias me +
VMailMgr supports Courier-IMAP, but Courier-IMAP does not auto detect VMailMgr. This means that some minor work is required for making the two work together.
/usr/local/bin/authvmailmgr
` to
`/usr/lib/courier-imap/libexec/authlib/authvmailmgr
`.AUTHMODULES
` statement in
`/usr/lib/courier-imap/etc/imapd.config
` and add `authvmailmgr
` as the first
authentication module.