<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on December, 29 2004 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Vmailmgr FAQ: </TITLE>
<META NAME="description" CONTENT="Vmailmgr FAQ: ">
<META NAME="keywords" CONTENT="Vmailmgr FAQ: ">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC1"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC2"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<P>
Copyright (C) 1998 Bruce Guenter
</P><P>
VMailMgr Frequently Asked Questions.
</P><P>
<H1> 1. Building and Installing </H1>
<!--docid::SEC1::-->
<P>
<HR SIZE="6">
<A NAME="SEC2"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC3"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 1.1 What compiler and libraries do I need to build vmailmgr? </H2>
<!--docid::SEC2::-->
<P>
You will need a working C and C++ compiler and linker. You will not
need any C++ libraries. The package is being developed under Linux
using egcs and glibc version 2, and may rely on some gcc/g++
extensions.
</P><P>
<HR SIZE="6">
<A NAME="SEC3"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC2"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC4"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 1.2 Does vmailmgr work with shadow passwords? </H2>
<!--docid::SEC3::-->
<P>
This package should work without changes both with and without
shadow passwords as long as the shadow password libraries are
present when this package is built. The <CODE>configure</CODE> script will
detect what method of shadow passwords are being used and the
programs will be built accordingly.
</P><P>
<HR SIZE="6">
<A NAME="SEC4"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC3"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC5"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 1.3 Does vmailmgr support IMAP? </H2>
<!--docid::SEC4::-->
<P>
Yes, vmailmgr supports Courier-IMAP. Some minor steps are needed to
make them work, the steps are in the next section of this file.
</P><P>
<HR SIZE="6">
<A NAME="SEC5"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC4"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC6"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 2. Setup and Configuration </H1>
<!--docid::SEC5::-->
<P>
<HR SIZE="6">
<A NAME="SEC6"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC5"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC7"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.1 What other software is needed to run vmailmgr? </H2>
<!--docid::SEC6::-->
<P>
VMailMgr is based around qmail's handling of virtual users, and as
such requires qmail for its operation. If you wish to use the <CODE>init</CODE>
file to start/stop <CODE>vmailmgrd</CODE> or are installing the RPM package,
supervise-scripts version 2.2 (or later, available at
<A HREF="http://untroubled.org/supervise-scripts/">http://untroubled.org/supervise-scripts/</A>)
and daemontools 0.60 (or later, available at
<A HREF="http://untroubled.org/rpms/daemontools/">http://untroubled.org/rpms/daemontools/</A>)
packages are required. If you need to use the <CODE>vmailmgrd</CODE> daemon, you
will also need the <CODE>unixserver</CODE> program, from the ucspi-unix package,
available at
<A HREF="http://untroubled.org/ucspi-unix/">http://untroubled.org/ucspi-unix/</A>.
</P><P>
If you want to use the autoresponse feature, I recommend the use of
my own autoresponder program, <CODE>qmail-autoresponder</CODE> available
at
<A HREF="http://untroubled.org/qmail-autoresponder/">http://untroubled.org/qmail-autoresponder/</A>.
</P><P>
<HR SIZE="6">
<A NAME="SEC7"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC6"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC8"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.2 How do I record the output of vmailmgrd with syslog? </H2>
<!--docid::SEC7::-->
<P>
Output from <CODE>vmailmgrd</CODE> can be recorded by either <CODE>splogger</CODE> (part of
qmail) or with the logger that comes with several flavours of UNIX. To use
<CODE>splogger</CODE>, pipe the output of <CODE>vmailmgrd</CODE> into the command
<SAMP>`splogger vmailmgrd'</SAMP>. This will timestamp each entry and tag them with the
word <SAMP>`vmailmgrd'</SAMP>. By default, <CODE>splogger</CODE> logs to facility 2 (mail). To
use <CODE>logger</CODE>, pipe the output of <CODE>vmailmgrd</CODE> into the command
<SAMP>`logger -t vmailmgrd -p mail.notice'</SAMP>.
See the respective man pages of these two programs for more information.
</P><P>
Note: The use of <CODE>syslog</CODE> for logging messages is strongly discouraged
due to problems with inefficent and buggy implementation of <CODE>syslog</CODE>.
</P><P>
<HR SIZE="6">
<A NAME="SEC8"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC7"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC9"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.3 How do I record the output of vmailmgrd with multilog? </H2>
<!--docid::SEC8::-->
<P>
Make a directory into which the output will go, for example
<TT>`/var/log/vmailmgrd'</TT>. Pipe the output of <CODE>vmailmgrd</CODE> into the
command <SAMP>`multilog t /var/log/vmailmgrd'</SAMP>. See the
documentation for <CODE>multilog</CODE> for more information on how to adjust its
output.
</P><P>
<HR SIZE="6">
<A NAME="SEC9"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC8"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC10"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.4 How do I setup VMmailMgr IMAP support? </H2>
<!--docid::SEC9::-->
<P>
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.
</P><P>
<UL>
<LI>
You must copy <TT>`/usr/local/bin/authvmailmgr'</TT> to
<TT>`/usr/lib/courier-imap/libexec/authlib/authvmailmgr'</TT>.
<P>
<LI>
Then modify the <CODE>AUTHMODULES</CODE> statement in
<TT>`/usr/lib/courier-imap/etc/imapd.config'</TT> and add
<KBD>authvmailmgr</KBD> as the first authentication module.
<P>
</UL>
<P>
<HR SIZE="6">
<A NAME="SEC10"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC9"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC11"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.5 Upgrading from Previous Versions </H2>
<!--docid::SEC10::-->
<P>
If you are upgrading from an older version, you may need to make
some changes to your system before or after doing the upgrade. The
following table outlines the necessary changes. Note that you need
to follow the instructions for all later versions of the software.
</P><P>
<HR SIZE="6">
<A NAME="SEC11"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC10"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC12"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.5.1 Upgrading from version 0.96.6 or earlier </H3>
<!--docid::SEC11::-->
<P>
The <CODE>vmailmgrd</CODE> daemon needs to be run by unixserver, as opposed
to being a stand-alone program previously.
</P><P>
<HR SIZE="6">
<A NAME="SEC12"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC11"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC13"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.5.2 Upgrading from version 0.96.2 or earlier </H3>
<!--docid::SEC12::-->
<P>
Make sure the <CODE>vmailmgrd</CODE> daemon and vmailmgr CGIs are disabled
before upgrading, and upgrade them along with the main
package. Changes were made to the daemon interface that will
cause adding users and aliases to flake out. As well, the
listdomain interface was completely redone.
</P><P>
<HR SIZE="6">
<A NAME="SEC13"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC12"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC14"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.5.3 Upgrading from version 0.94 or earlier, using the POP bulletin facility </H3>
<!--docid::SEC13::-->
<P>
The POP bulletin facility has been moved into a stand-alone
program that needs to be executed through <CODE>checkvpw-postsetuid</CODE>.
</P><P>
<HR SIZE="6">
<A NAME="SEC14"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC13"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC15"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.5.4 Upgrading from version 0.93 or earlier </H3>
<!--docid::SEC14::-->
<P>
If you do not use the CGIs, you no longer need to run the
<CODE>vmailmgrd</CODE> daemon.
</P><P>
<HR SIZE="6">
<A NAME="SEC15"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC14"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC16"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.5.5 Upgrading from version 0.92.2 or earlier </H3>
<!--docid::SEC15::-->
<P>
The configuration changed from reading a single file to reading a
set of files in a directory. Read the configuration documentation
and run the program <CODE>vconf2dir</CODE>.
</P><P>
<HR SIZE="6">
<A NAME="SEC16"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC15"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC17"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.5.6 Upgrading from version 0.90.2 or earlier </H3>
<!--docid::SEC16::-->
<P>
The name of the user to which mail to an unknown user is
delivered changed from <SAMP>`*'</SAMP> to <SAMP>`+'</SAMP>. If you were using this
feature, either change all your domains to accomodate this
change, or set the <TT>`default-username'</TT> config file to contain <SAMP>`*'</SAMP>.
</P><P>
<HR SIZE="6">
<A NAME="SEC17"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC16"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC18"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.5.7 Upgrading from version 0.88 or earlier </H3>
<!--docid::SEC17::-->
<P>
The file format of the virtual password tables has changed from
plain text files to CDB tables. You will need to suspend local
deliveries before upgrading, and run the program <CODE>vpasswd2cdb</CODE> as
each base user after upgrading, before re-enabling local
deliveries.
</P><P>
<HR SIZE="6">
<A NAME="SEC18"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC17"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC19"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.6 How do I configure qmail+patches to use vmailmgr for POP? </H2>
<!--docid::SEC18::-->
<P>
Put the string <KBD>checkvpw</KBD> into the file
<TT>`/etc/qmail/control/checkpassword'</TT> and restart <CODE>qmail-pop3d</CODE> by
typing <SAMP>`/etc/rc.d/init.d/pop3d restart'</SAMP>.
</P><P>
<HR SIZE="6">
<A NAME="SEC19"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC18"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC20"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.7 How do I allow clients to relay SMTP through me? </H2>
<!--docid::SEC19::-->
<P>
Download and install relay-ctrl from
<A HREF="http://untroubled.org/relay-ctrl/">http://untroubled.org/relay-ctrl/</A>.
It works with vmailmgr, for both POP3 and IMAP clients.
</P><P>
<HR SIZE="6">
<A NAME="SEC20"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC19"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC21"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 3. Usage </H1>
<!--docid::SEC20::-->
<P>
<HR SIZE="6">
<A NAME="SEC21"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC20"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC22"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.1 I can only use one IP address. How do I log in as a virtual user? </H2>
<!--docid::SEC21::-->
<P>
There are two ways to log in without using multiple IP addresses.
</P><P>
<UL>
<LI>
The first way is to log in as <SAMP>`user<VAR>SEP</VAR>virtual.domain.org'</SAMP>, where
<SAMP>`user'</SAMP> is the mailbox name of the virtual user, <VAR>SEP</VAR> is one of
<SAMP>`@'</SAMP> or <SAMP>`:'</SAMP> (by default, this is configurable in the
<TT>`/etc/vmailmgr/'</TT> directory), and <SAMP>`virtual.domain.org'</SAMP> is the virtual
domain's name, as listed in <TT>`/var/qmail/control/virtualdomains'</TT>.
<P>
<LI>
The second way is to use the internal form of the mailbox name --
that is, <SAMP>`baseuser-user'</SAMP>, where <SAMP>`user'</SAMP> is the same
as above, and <SAMP>`baseuser'</SAMP> is the username of the managing
user.
<P>
For example, <TT>`/var/qmail/control/virtualdomains'</TT> contains
<SAMP>`testdomain.org:testuser'</SAMP>, user <SAMP>`testuser'</SAMP> exists,
and has set up a virtual mailbox with the name <SAMP>`v'</SAMP>.
The <VAR>separators</VAR> variable in <TT>`/etc/vmailmgr/'</TT>
contains <SAMP>`@:'</SAMP>. This virtual user
could log in as <SAMP>`v@testdomain.org'</SAMP>,
<SAMP>`v:testdomain.org'</SAMP>, or <SAMP>`testuser-v'</SAMP>.
</UL>
<P>
<HR SIZE="6">
<A NAME="SEC22"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC21"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC23"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.2 How do I get all misdirected mail sent to me? </H2>
<!--docid::SEC22::-->
<P>
In the <TT>`vmailmgr/'</TT> configuration directory, there is an
entry called <TT>`default-username'</TT>. 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 <SAMP>`+'</SAMP>). To make this deliver to you,
simply type:
</P><P>
<TABLE><tr><td> </td><td class=example><pre>vaddalias + me
</pre></td></tr></table></P><P>
<HR SIZE="6">
<A NAME="SEC23"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC22"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC24"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.3 How can I put system accounts in a virtual domain? </H2>
<!--docid::SEC23::-->
<P>
System accounts are those listed in <TT>`/etc/password'</TT> (or
<TT>`/var/qmail/users/cdb'</TT>).
The system accounts are accessable, either though SMTP or POP3 or IMAP, as
<SAMP>`name@<VAR>DOMAIN</VAR>'</SAMP>, where <VAR>DOMAIN</VAR> is listed in
<TT>`/var/qmail/control/locals'</TT>.
</P><P>
Virtual accounts exist only as an artifact of vmailmgr management.
They are accessable as <SAMP>`name@<VAR>DOMAIN</VAR>'</SAMP>, where <VAR>DOMAIN</VAR> is listed
in <TT>`/var/qmail/control/virtualdomains'</TT>.
</P><P>
You <STRONG>cannot</STRONG> mix accounts within a domain between system and virtual
domains. If the domain is in <TT>`control/locals'</TT>, all accounts for that
domain must be system accounts. If it is in <TT>`control/virtualdomains'</TT>, all
accounts for that domain must be virtual accounts. Also, <TT>`control/locals'</TT>
overrides <TT>`control/virtualdomains'</TT>: if the domain is in <TT>`locals'</TT>,
<TT>`virtualdomains'</TT> is ignored.
</P><P>
As an aside, if the domain is neither in <TT>`locals'</TT> nor in
<TT>`virtualdomains'</TT>, qmail will reject incoming messages, and vmailmgr will
treat it as local.
</P><P>
<HR SIZE="6">
<A NAME="SEC24"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC23"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC25"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 4. Troubleshooting </H1>
<!--docid::SEC24::-->
<P>
<HR SIZE="6">
<A NAME="SEC25"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC24"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC26"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 4.1 Bind error message from <CODE>vmailmgrd</CODE>. </H2>
<!--docid::SEC25::-->
<P>
If <CODE>vmailmgrd</CODE> reports
<BLOCKQUOTE>
vmailmgrd: bind: no such file or directory
</BLOCKQUOTE>
when you start it up, it means that can't create its socket file. By default,
it will try to create the socket file <TT>`/tmp/.vmailmgrd'</TT>. You must ensure
that <TT>`/tmp/'</TT> is writable, or that the socket is created in some other place
by setting <VAR>socket-file</VAR> in the configuration.
<P>
<HR SIZE="6">
<A NAME="SEC26"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC25"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC27"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 4.2 Error sending to an alias: <CODE>qmail-queue</CODE> exited with an error! </H2>
<!--docid::SEC26::-->
<P>
If qmail reports
<BLOCKQUOTE>
deferral: vdeliver: qmail-queue exited with an error!
</BLOCKQUOTE>
check where your qmail is installed. On Debian systems,
you will need to type <SAMP>`ls -s /usr/sbin /var/qmail/bin'</SAMP>,
since they've installed the qmail binaries into <TT>`/usr/sbin'</TT>.
<P>
<HR SIZE="6">
<A NAME="SEC27"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC26"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC28"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 4.3 Running <CODE>vmailmgrd</CODE> fails. </H2>
<!--docid::SEC27::-->
<P>
When run by itself, <CODE>vmailmgrd</CODE> will report
<BLOCKQUOTE>
Timed out waiting for remote
</BLOCKQUOTE>
<CODE>vmailmgrd</CODE> needs to be run from <CODE>unixserver</CODE>, part of the ucspi-unix
package available at
<A HREF="http://untroubled.org/ucspi-unix/">http://untroubled.org/ucspi-unix/</A>.
<P>
<HR SIZE="6">
<A NAME="SEC28"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC27"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC29"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 4.4 POP3 or IMAP logins take 30 seconds or longer. </H2>
<!--docid::SEC28::-->
<P>
This is almost certainly a DNS lookup problem. Make sure that DNS
lookups aren't timing out, that lookups on all your IP addresses
aren't failing, and that you can lookup remote addresses as well.
</P><P>
If you are using <CODE>tcpserver</CODE> for the head end to <CODE>qmail-pop3d</CODE>, then
you may want to add the following 2 switches to the command line: <SAMP>`-R'</SAMP> and
<SAMP>`-H'</SAMP>. The former prevents <CODE>tcpserver</CODE> from attempting to obtain
<VAR>TCPREMOTEINFO</VAR> from the remote host. This eliminates an <CODE>ident</CODE>
lookup that may be being blocked or silently dropped by a firewall. The latter
prevents <CODE>tcpserver</CODE> from doing a DNS lookup on the remote IP.
</P><P>
<HR SIZE="6">
<A NAME="SEC29"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC28"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC30"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 5. Miscellaneous </H1>
<!--docid::SEC29::-->
<P>
<HR SIZE="6">
<A NAME="SEC30"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC29"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC31"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 5.1 How do I get in contact with other users? </H2>
<!--docid::SEC30::-->
<P>
There is a mailing list run by the author. To subscribe, send an
e-mail (content and subject line is ignored) to
<A HREF="mailto:vmailmgr-subscribe@lists.untroubled.org">vmailmgr-subscribe@lists.untroubled.org</A>.
</P><P>
Remember that if you have a problem that you want us to diagnose, we
need to know the following important details:
<OL>
<LI>
The output of <CODE>qmail-showctl</CODE>
<LI>
The contents of the <CODE>vmailmgrd</CODE> log for the attempt you are
trying to diagnose
<LI>
The contents of the qmail and smtpd logs for a failed delivery
attempt
<LI>
The contents of the pop3d logs for a failed login attempt
<LI>
The complete command line with which <CODE>vmailmgrd</CODE> and <CODE>qmail-pop3d</CODE>
was invoked
</OL>
<P>
Please do not contact the author directly with vmailmgr questions.
</P><P>
<HR SIZE="6">
<A NAME="SEC31"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC30"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC32"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 5.2 Are development version of vmailmgr available anywhere? </H2>
<!--docid::SEC31::-->
<P>
Yes, they are available through anonymous CVS.
To access the CVS server, set your <CODE>CVSROOT</CODE> to
<KBD>:pserver:cvs@bruce-guenter.dyndns.org:/CVS</KBD>, log in with an
empty password, and check out the <CODE>vmailmgr</CODE> module.
</P><P>
<HR SIZE="6">
<A NAME="SEC32"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC31"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC33"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 5.3 How does incoming email get handled? </H2>
<!--docid::SEC32::-->
<P>
Incoming email is first received by the qmail SMTP daemon and
inserted into the qmail queue. Then <CODE>qmail-send</CODE> examines
the email envelope (which details the recipient address or
addresses) to determine how to dispatch the message. It looks up the
domain name of each recipient in
<TT>`/var/qmail/control/virtualdomains'</TT>, and prefixes the user
name with the string that it finds. It then looks up the resulting
user name in the system password table (or in
<TT>`/var/qmail/users/cdb'</TT> if it exists) to find the base user
name and home directory (which I will call <CODE>$HOME</CODE>). It
then looks for the file <TT>`<CODE>$HOME</CODE>/.qmail-VIRTUAL'</TT>. If that's
not found, it looks for the file <TT>`<CODE>$HOME</CODE>/.qmail-default'</TT>,
which will contain an instruction to pipe the message to
<CODE>vdeliver</CODE>.
</P><P>
This is where vmailmgr first enters the picture. The virtual user
name is sent to <CODE>vdeliver</CODE> through environment variables. It looks
in the configuration files (in <TT>`<CODE>$HOME</CODE>/.vmailmgr'</TT> and then
in <TT>`/etc/vmailmgr'</TT>) to determine the location of the
password table, and looks up the virtual user name in the table to
determine delivery instructions. If the name is not found, the
message is bounced and delivery ends. Otherwise, it then looks for
the <CODE>vdeliver-predeliver</CODE> script in the configuration
directories (in reverse order) and executes any that are found. It
then delivers the message to all the listed destinations -- an
optional mailbox directory and zero or more forwarding
addresses. Finally, it looks for the <CODE>vdeliver-postdeliver</CODE>
script and executes any that are found.
</P><P>
<HR SIZE="6">
<A NAME="SEC33"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC32"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC34"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 5.4 How does outgoing email get handled? </H2>
<!--docid::SEC33::-->
<P>
Outgoing email is not handled by vmailmgr. For details on outgoing
email handling, check the qmail documentation.
</P><P>
<HR SIZE="6">
<A NAME="SEC34"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC33"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC35"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 5.5 What about security of CGI and PHP functions? </H2>
<!--docid::SEC34::-->
<P>
The socket used by the daemon is a UNIX-domain socket (as opposed to
Internet-domain), meaning you need local access on the computer to
open up a connection. The path for this socket is run-time
configurable.
</P><P>
The daemon forks a new connection for each connection, up to a
configurable maximum (at which point it stops listening, IIRC, I
should verify this). The idea of threading has been completely
discarded to avoid a bug in a command creeping in and making the
whole server break.
</P><P>
The protocol spoken over the socket is explicitly bounded to at most
64kB of data, and all data is prefixed by a size. Static-sized
buffers are only used with static-sized reads, and therefore can't be
overflowed with stack-smashing tricks.
</P><P>
The daemon commands setuid to the appropriate user as soon as the base
user has been verified, to avoid doing any more than necessary as
root, as well as to avoid the possibility of tricking the daemon into
reading a file another user wouldn't normally have access to.
</P><P>
To help avoid DoS on the local computer, a 1-second alarm is set as
soon as the connection is received, and is only cleared once all the
data has been read. If it takes longer than 1 second to read the data
from the socket, the server process exits.
</P><P>
<HR SIZE="6">
<A NAME="SEC35"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC34"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ > ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 5.6 What are the differences between vmailmgr and vpopmail? </H2>
<!--docid::SEC35::-->
<P>
The primary difference between vmailmgr and vpopmail is the use of
base users. With vmailmgr there is one base user for each virtual
domain. With vpopmail, there is one base user for the entire
virtual domain system.
</P><P>
<HR SIZE="6">
<A NAME="SEC_Contents"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>Table of Contents</H1>
<UL>
<A NAME="TOC1" HREF="FAQ.html#SEC1">1. Building and Installing</A>
<BR>
<UL>
<A NAME="TOC2" HREF="FAQ.html#SEC2">1.1 What compiler and libraries do I need to build vmailmgr?</A>
<BR>
<A NAME="TOC3" HREF="FAQ.html#SEC3">1.2 Does vmailmgr work with shadow passwords?</A>
<BR>
<A NAME="TOC4" HREF="FAQ.html#SEC4">1.3 Does vmailmgr support IMAP?</A>
<BR>
</UL>
<A NAME="TOC5" HREF="FAQ.html#SEC5">2. Setup and Configuration</A>
<BR>
<UL>
<A NAME="TOC6" HREF="FAQ.html#SEC6">2.1 What other software is needed to run vmailmgr?</A>
<BR>
<A NAME="TOC7" HREF="FAQ.html#SEC7">2.2 How do I record the output of vmailmgrd with syslog?</A>
<BR>
<A NAME="TOC8" HREF="FAQ.html#SEC8">2.3 How do I record the output of vmailmgrd with multilog?</A>
<BR>
<A NAME="TOC9" HREF="FAQ.html#SEC9">2.4 How do I setup VMmailMgr IMAP support?</A>
<BR>
<A NAME="TOC10" HREF="FAQ.html#SEC10">2.5 Upgrading from Previous Versions</A>
<BR>
<UL>
<A NAME="TOC11" HREF="FAQ.html#SEC11">2.5.1 Upgrading from version 0.96.6 or earlier</A>
<BR>
<A NAME="TOC12" HREF="FAQ.html#SEC12">2.5.2 Upgrading from version 0.96.2 or earlier</A>
<BR>
<A NAME="TOC13" HREF="FAQ.html#SEC13">2.5.3 Upgrading from version 0.94 or earlier, using the POP bulletin facility</A>
<BR>
<A NAME="TOC14" HREF="FAQ.html#SEC14">2.5.4 Upgrading from version 0.93 or earlier</A>
<BR>
<A NAME="TOC15" HREF="FAQ.html#SEC15">2.5.5 Upgrading from version 0.92.2 or earlier</A>
<BR>
<A NAME="TOC16" HREF="FAQ.html#SEC16">2.5.6 Upgrading from version 0.90.2 or earlier</A>
<BR>
<A NAME="TOC17" HREF="FAQ.html#SEC17">2.5.7 Upgrading from version 0.88 or earlier</A>
<BR>
</UL>
<A NAME="TOC18" HREF="FAQ.html#SEC18">2.6 How do I configure qmail+patches to use vmailmgr for POP?</A>
<BR>
<A NAME="TOC19" HREF="FAQ.html#SEC19">2.7 How do I allow clients to relay SMTP through me?</A>
<BR>
</UL>
<A NAME="TOC20" HREF="FAQ.html#SEC20">3. Usage</A>
<BR>
<UL>
<A NAME="TOC21" HREF="FAQ.html#SEC21">3.1 I can only use one IP address. How do I log in as a virtual user?</A>
<BR>
<A NAME="TOC22" HREF="FAQ.html#SEC22">3.2 How do I get all misdirected mail sent to me?</A>
<BR>
<A NAME="TOC23" HREF="FAQ.html#SEC23">3.3 How can I put system accounts in a virtual domain?</A>
<BR>
</UL>
<A NAME="TOC24" HREF="FAQ.html#SEC24">4. Troubleshooting</A>
<BR>
<UL>
<A NAME="TOC25" HREF="FAQ.html#SEC25">4.1 Bind error message from <CODE>vmailmgrd</CODE>.</A>
<BR>
<A NAME="TOC26" HREF="FAQ.html#SEC26">4.2 Error sending to an alias: <CODE>qmail-queue</CODE> exited with an error!</A>
<BR>
<A NAME="TOC27" HREF="FAQ.html#SEC27">4.3 Running <CODE>vmailmgrd</CODE> fails.</A>
<BR>
<A NAME="TOC28" HREF="FAQ.html#SEC28">4.4 POP3 or IMAP logins take 30 seconds or longer.</A>
<BR>
</UL>
<A NAME="TOC29" HREF="FAQ.html#SEC29">5. Miscellaneous</A>
<BR>
<UL>
<A NAME="TOC30" HREF="FAQ.html#SEC30">5.1 How do I get in contact with other users?</A>
<BR>
<A NAME="TOC31" HREF="FAQ.html#SEC31">5.2 Are development version of vmailmgr available anywhere?</A>
<BR>
<A NAME="TOC32" HREF="FAQ.html#SEC32">5.3 How does incoming email get handled?</A>
<BR>
<A NAME="TOC33" HREF="FAQ.html#SEC33">5.4 How does outgoing email get handled?</A>
<BR>
<A NAME="TOC34" HREF="FAQ.html#SEC34">5.5 What about security of CGI and PHP functions?</A>
<BR>
<A NAME="TOC35" HREF="FAQ.html#SEC35">5.6 What are the differences between vmailmgr and vpopmail?</A>
<BR>
</UL>
</UL>
<HR SIZE=1>
<A NAME="SEC_OVERVIEW"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>Short Table of Contents</H1>
<BLOCKQUOTE>
<A NAME="TOC1" HREF="FAQ.html#SEC1">1. Building and Installing</A>
<BR>
<A NAME="TOC5" HREF="FAQ.html#SEC5">2. Setup and Configuration</A>
<BR>
<A NAME="TOC20" HREF="FAQ.html#SEC20">3. Usage</A>
<BR>
<A NAME="TOC24" HREF="FAQ.html#SEC24">4. Troubleshooting</A>
<BR>
<A NAME="TOC29" HREF="FAQ.html#SEC29">5. Miscellaneous</A>
<BR>
</BLOCKQUOTE>
<HR SIZE=1>
<A NAME="SEC_About"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC1">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="FAQ.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
This document was generated by <I>Bruce.Guenter.dyndns.org</I> on <I>December, 29 2004</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
The buttons in the navigation panels have the following meaning:
<P></P>
<table border = "1">
<TR>
<TH> Button </TH>
<TH> Name </TH>
<TH> Go to </TH>
<TH> From 1.2.3 go to</TH>
</TR>
<TR>
<TD ALIGN="CENTER">
[ < ] </TD>
<TD ALIGN="CENTER">
Back
</TD>
<TD>
previous section in reading order
</TD>
<TD>
1.2.2
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ > ] </TD>
<TD ALIGN="CENTER">
Forward
</TD>
<TD>
next section in reading order
</TD>
<TD>
1.2.4
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ << ] </TD>
<TD ALIGN="CENTER">
FastBack
</TD>
<TD>
previous or up-and-previous section
</TD>
<TD>
1.1
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ Up ] </TD>
<TD ALIGN="CENTER">
Up
</TD>
<TD>
up section
</TD>
<TD>
1.2
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ >> ] </TD>
<TD ALIGN="CENTER">
FastForward
</TD>
<TD>
next or up-and-next section
</TD>
<TD>
1.3
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[Top] </TD>
<TD ALIGN="CENTER">
Top
</TD>
<TD>
cover (top) of document
</TD>
<TD>
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[Contents] </TD>
<TD ALIGN="CENTER">
Contents
</TD>
<TD>
table of contents
</TD>
<TD>
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[Index] </TD>
<TD ALIGN="CENTER">
Index
</TD>
<TD>
concept index
</TD>
<TD>
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ ? ] </TD>
<TD ALIGN="CENTER">
About
</TD>
<TD>
this page
</TD>
<TD>
</TD>
</TR>
</TABLE>
<P></P>
where the <STRONG> Example </STRONG> assumes that the current position
is at <STRONG> Subsubsection One-Two-Three </STRONG> of a document of
the following structure:
<UL>
<LI> 1. Section One </LI>
<UL>
<LI>1.1 Subsection One-One</LI>
<UL>
<LI> ... </LI>
</UL>
<LI>1.2 Subsection One-Two</LI>
<UL>
<LI>1.2.1 Subsubsection One-Two-One
</LI><LI>1.2.2 Subsubsection One-Two-Two
</LI><LI>1.2.3 Subsubsection One-Two-Three <STRONG>
<== Current Position </STRONG>
</LI><LI>1.2.4 Subsubsection One-Two-Four
</LI></UL>
<LI>1.3 Subsection One-Three</LI>
<UL>
<LI> ... </LI>
</UL>
<LI>1.4 Subsection One-Four</LI>
</UL>
</UL>
<HR SIZE=1>
<BR>
<FONT SIZE="-1">
This document was generated
by <I>Bruce.Guenter.dyndns.org</I> on <I>December, 29 2004</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>