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 the VMailMgr homepage http://www.vmailmgr.org/ in its HTML version as well as in the source package SGML source, HTML, and text. Other versions may be found in different formats at the LDP homepage http://www.linuxdoc.org/.
Comments on this HOWTO should be directed to the VMailMgr mailing list. To subscribe, send an email to vmailmgr-subscribe@lists.em.ca.
This document was started by Bruce Guenter and reworked by Dan Kuykendall.
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.
Visit the VMailMgr website http://www.vmailmgr.org/ to get the package.
If you get the binary RPMS you will need at least the vmailmgr package.
Simply compile the src.rpm file with the `rpm --rebuild
` command.
-Example-
rpm -ivh vmailmgr-0.96.9-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.9-1.i386.rpm rpm -ivh /usr/src/redhat/RPMS/i386/vmailmgr-daemon-0.96.9-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.9.tar.gz cd vmailmgr-0.96.9 ./configure make (As root) make install
In the following setup examples, it is assumed that your binaries
are installed in `/usr/bin
`, and configuration is in
`/etc/vmailmgr
`, as is the case if you installed from the
RPMs.
If you installed from source, configure puts the binaries into
`/usr/local/bin
` and the configuration into
`/usr/local/etc/vmailmgr
` by default.
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.vsetup
`.vadduser me vaddalias myself me vaddalias myname me
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 come with an authentication module for VMailMgr. This means that some minor work is required for making the two work together.
/usr/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.VMailMgr supports per-virtual-user quotas, but not out of the box,
as it is not needed by the majority of users, and requires an extra
program to be run on each delivery.
To configure quota support, create the file
`/etc/vmailmgr/vdeliver-predeliver
`, containing
the following:
#!/bin/sh /usr/bin/vcheckquotaThis is executed as a shell script, so you will need to make it executable by running the following command:
chmod +x /etc/vmailmgr/vdeliver-predeliver
Download and install the qmail-autoresponder package, found at
http://em.ca/~bruceg/qmail-autoresponder/.
As with the above section, create a shell script
`/etc/vmailmgr/vdeliver-postdeliver
`, containing the
following:
#!/bin/sh if test -s $MAILDIR/autoresponse/message.txt then qmail-autoresponder $MAILDIR/autoresponse/message.txt $MAILDIR/autoresponse fi
There are currently a few working solutions to administrate your vmailmgr system via a web interface. Only requirement is that the vmailmgrd daemon is running, and that you have a webserver on your system.
cgi
directory of the vmailmgr distribution.