doc/FAQ.texi
author "Tomas Zeman <tzeman@volny.cz>"
Sun, 20 Jan 2008 00:22:09 +0100
changeset 2 b3afb9f1e801
permissions -rw-r--r--
Imported vmailmgr-0.97
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     1
\input texinfo @c -*-texinfo-*-
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     2
@c %**start of header
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     3
@setfilename FAQ.info
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     4
@settitle Vmailmgr FAQ
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     5
@setchapternewpage off
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     6
@paragraphindent 5
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     7
@footnotestyle end
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     8
@c %**end of header
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     9
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    10
@ifinfo
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    11
Copyright @copyright{} 1998 Bruce Guenter
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    12
@end ifinfo
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    13
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    14
@titlepage
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    15
@title Vmailmgr FAQ
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    16
@author Bruce Guenter
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    17
@author Dan Kuykendall
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    18
@subtitle @today{}
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    19
@end titlepage
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    20
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    21
@ifinfo
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    22
VMailMgr Frequently Asked Questions.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    23
@end ifinfo
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    24
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    25
@c ****************************************************************************
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    26
@chapter Building and Installing
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    27
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    28
@section What compiler and libraries do I need to build vmailmgr?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    29
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    30
You will need a working C and C++ compiler and linker. You will not
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    31
need any C++ libraries.  The package is being developed under Linux
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    32
using egcs and glibc version 2, and may rely on some gcc/g++
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    33
extensions.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    34
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    35
@section Does vmailmgr work with shadow passwords?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    36
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    37
This package should work without changes both with and without
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    38
shadow passwords as long as the shadow password libraries are
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    39
present when this package is built. The @code{configure} script will
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    40
detect what method of shadow passwords are being used and the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    41
programs will be built accordingly.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    42
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    43
@section Does vmailmgr support IMAP?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    44
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    45
Yes, vmailmgr supports Courier-IMAP.  Some minor steps are needed to
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    46
make them work, the steps are in the next section of this file.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    47
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    48
@c ****************************************************************************
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    49
@chapter Setup and Configuration
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    50
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    51
@section What other software is needed to run vmailmgr?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    52
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    53
VMailMgr is based around qmail's handling of virtual users, and as
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    54
such requires qmail for its operation. If you wish to use the @code{init}
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    55
file to start/stop @code{vmailmgrd} or are installing the RPM package,
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    56
supervise-scripts version 2.2 (or later, available at 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    57
@uref{http://untroubled.org/supervise-scripts/})
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    58
and daemontools 0.60 (or later, available at 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    59
@uref{http://untroubled.org/rpms/daemontools/})
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    60
packages are required.  If you need to use the @code{vmailmgrd} daemon, you 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    61
will also need the @code{unixserver} program, from the ucspi-unix package, 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    62
available at
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    63
@uref{http://untroubled.org/ucspi-unix/}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    64
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    65
If you want to use the autoresponse feature, I recommend the use of
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    66
my own autoresponder program, @code{qmail-autoresponder} available
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    67
at 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    68
@uref{http://untroubled.org/qmail-autoresponder/}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    69
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    70
@section How do I record the output of vmailmgrd with syslog?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    71
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    72
Output from @code{vmailmgrd} can be recorded by either @code{splogger} (part of 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    73
qmail) or with the logger that comes with several flavours of UNIX. To use 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    74
@code{splogger}, pipe the output of @code{vmailmgrd} into the command 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    75
@samp{splogger vmailmgrd}. This will timestamp each entry and tag them with the 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    76
word @samp{vmailmgrd}. By default, @code{splogger} logs to facility 2 (mail). To 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    77
use @code{logger}, pipe the output of @code{vmailmgrd} into the command 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    78
@samp{logger -t vmailmgrd -p mail.notice}. 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    79
See the respective man pages of these two programs for more information.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    80
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    81
Note: The use of @code{syslog} for logging messages is strongly discouraged
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    82
due to problems with inefficent and buggy implementation of @code{syslog}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    83
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    84
@section How do I record the output of vmailmgrd with multilog?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    85
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    86
Make a directory into which the output will go, for example
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    87
@file{/var/log/vmailmgrd}. Pipe the output of @code{vmailmgrd} into the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    88
command @samp{multilog t /var/log/vmailmgrd}. See the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    89
documentation for @code{multilog} for more information on how to adjust its
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    90
output.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    91
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    92
@section How do I setup VMmailMgr IMAP support?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    93
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    94
VMailMgr supports Courier-IMAP, but Courier-IMAP does not auto
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    95
detect VMailMgr.  This means that some minor work is required for
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    96
making the two work together.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    97
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    98
@itemize @bullet
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    99
@item
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   100
You must copy @file{/usr/local/bin/authvmailmgr} to
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   101
@file{/usr/lib/courier-imap/libexec/authlib/authvmailmgr}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   102
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   103
@item
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   104
Then modify the @code{AUTHMODULES} statement in
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   105
@file{/usr/lib/courier-imap/etc/imapd.config} and add
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   106
@kbd{authvmailmgr} as the first authentication module.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   107
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   108
@end itemize
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   109
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   110
@section Upgrading from Previous Versions
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   111
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   112
If you are upgrading from an older version, you may need to make
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   113
some changes to your system before or after doing the upgrade. The
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   114
following table outlines the necessary changes. Note that you need
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   115
to follow the instructions for all later versions of the software.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   116
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   117
@subsection Upgrading from version 0.96.6 or earlier
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   118
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   119
The @code{vmailmgrd} daemon needs to be run by unixserver, as opposed
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   120
to being a stand-alone program previously.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   121
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   122
@subsection Upgrading from version 0.96.2 or earlier
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   123
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   124
Make sure the @code{vmailmgrd} daemon and vmailmgr CGIs are disabled
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   125
before upgrading, and upgrade them along with the main
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   126
package. Changes were made to the daemon interface that will
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   127
cause adding users and aliases to flake out. As well, the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   128
listdomain interface was completely redone.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   129
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   130
@subsection Upgrading from version 0.94 or earlier, using the POP bulletin facility
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   131
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   132
The POP bulletin facility has been moved into a stand-alone
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   133
program that needs to be executed through @code{checkvpw-postsetuid}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   134
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   135
@subsection Upgrading from version 0.93 or earlier
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   136
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   137
If you do not use the CGIs, you no longer need to run the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   138
@code{vmailmgrd} daemon.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   139
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   140
@subsection Upgrading from version 0.92.2 or earlier
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   141
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   142
The configuration changed from reading a single file to reading a
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   143
set of files in a directory.  Read the configuration documentation
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   144
and run the program @code{vconf2dir}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   145
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   146
@subsection Upgrading from version 0.90.2 or earlier
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   147
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   148
The name of the user to which mail to an unknown user is
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   149
delivered changed from @samp{*} to @samp{+}. If you were using this
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   150
feature, either change all your domains to accomodate this
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   151
change, or set the @file{default-username} config file to contain @samp{*}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   152
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   153
@subsection Upgrading from version 0.88 or earlier
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   154
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   155
The file format of the virtual password tables has changed from
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   156
plain text files to CDB tables. You will need to suspend local
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   157
deliveries before upgrading, and run the program @code{vpasswd2cdb} as
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   158
each base user after upgrading, before re-enabling local
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   159
deliveries.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   160
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   161
@section How do I configure qmail+patches to use vmailmgr for POP?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   162
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   163
Put the string @kbd{checkvpw} into the file
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   164
@file{/etc/qmail/control/checkpassword} and restart @code{qmail-pop3d} by
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   165
typing @samp{/etc/rc.d/init.d/pop3d restart}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   166
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   167
@section How do I allow clients to relay SMTP through me?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   168
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   169
Download and install relay-ctrl from
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   170
@uref{http://untroubled.org/relay-ctrl/}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   171
It works with vmailmgr, for both POP3 and IMAP clients.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   172
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   173
@c ****************************************************************************
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   174
@chapter Usage
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   175
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   176
@section I can only use one IP address. How do I log in as a virtual user?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   177
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   178
There are two ways to log in without using multiple IP addresses.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   179
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   180
@itemize @bullet
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   181
@item
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   182
The first way is to log in as @samp{user@var{SEP}virtual.domain.org}, where 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   183
@samp{user} is the mailbox name of the virtual user, @var{SEP} is one of 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   184
@samp{@@} or @samp{:} (by default, this is configurable in the 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   185
@file{/etc/vmailmgr/} directory), and @samp{virtual.domain.org} is the virtual 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   186
domain's name, as listed in @file{/var/qmail/control/virtualdomains}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   187
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   188
@item
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   189
The second way is to use the internal form of the mailbox name --
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   190
that is, @samp{baseuser-user}, where @samp{user} is the same
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   191
as above, and @samp{baseuser} is the username of the managing
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   192
user.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   193
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   194
For example, @file{/var/qmail/control/virtualdomains} contains 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   195
@samp{testdomain.org:testuser}, user @samp{testuser} exists,
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   196
and has set up a virtual mailbox with the name @samp{v}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   197
The @var{separators} variable in @file{/etc/vmailmgr/}
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   198
contains @samp{@@:}.  This virtual user
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   199
could log in as @samp{v@@testdomain.org},
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   200
@samp{v:testdomain.org}, or @samp{testuser-v}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   201
@end itemize
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   202
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   203
@section How do I get all misdirected mail sent to me?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   204
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   205
In the @file{vmailmgr/} configuration directory, there is an
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   206
entry called @file{default-username}. If mail to a virtual
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   207
domain does not match any users or aliases in that domain, it is
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   208
delivered to the name listed in this configuration item if it exists
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   209
(which defaults to @samp{+}). To make this deliver to you,
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   210
simply type:
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   211
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   212
@example
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   213
vaddalias + me
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   214
@end example
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   215
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   216
@section How can I put system accounts in a virtual domain?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   217
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   218
System accounts are those listed in @file{/etc/password} (or 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   219
@file{/var/qmail/users/cdb}). 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   220
The system accounts are accessable, either though SMTP or POP3 or IMAP, as 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   221
@samp{name@@@var{DOMAIN}}, where @var{DOMAIN} is listed in
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   222
@file{/var/qmail/control/locals}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   223
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   224
Virtual accounts exist only as an artifact of vmailmgr management.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   225
They are accessable as @samp{name@@@var{DOMAIN}}, where @var{DOMAIN} is listed 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   226
in @file{/var/qmail/control/virtualdomains}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   227
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   228
You @strong{cannot} mix accounts within a domain between system and virtual 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   229
domains.  If the domain is in @file{control/locals}, all accounts for that 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   230
domain must be system accounts.  If it is in @file{control/virtualdomains}, all 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   231
accounts for that domain must be virtual accounts.  Also, @file{control/locals} 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   232
overrides @file{control/virtualdomains}: if the domain is in @file{locals}, 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   233
@file{virtualdomains} is ignored.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   234
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   235
As an aside, if the domain is neither in @file{locals} nor in
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   236
@file{virtualdomains}, qmail will reject incoming messages, and vmailmgr will
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   237
treat it as local.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   238
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   239
@c ****************************************************************************
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   240
@chapter Troubleshooting
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   241
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   242
@section Bind error message from @code{vmailmgrd}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   243
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   244
If @code{vmailmgrd} reports 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   245
@quotation
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   246
vmailmgrd: bind: no such file or directory
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   247
@end quotation 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   248
when you start it up, it means that can't create its socket file.  By default, 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   249
it will try to create the socket file @file{/tmp/.vmailmgrd}. You must ensure 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   250
that @file{/tmp/} is writable, or that the socket is created in some other place 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   251
by setting @var{socket-file} in the configuration.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   252
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   253
@section Error sending to an alias: @code{qmail-queue} exited with an error!
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   254
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   255
If qmail reports
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   256
@quotation
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   257
deferral: vdeliver: qmail-queue exited with an error!
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   258
@end quotation
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   259
check where your qmail is installed.  On Debian systems,
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   260
you will need to type @samp{ls -s /usr/sbin /var/qmail/bin},
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   261
since they've installed the qmail binaries into @file{/usr/sbin}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   262
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   263
@section Running @code{vmailmgrd} fails.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   264
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   265
When run by itself, @code{vmailmgrd} will report
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   266
@quotation
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   267
Timed out waiting for remote
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   268
@end quotation
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   269
@code{vmailmgrd} needs to be run from @code{unixserver}, part of the ucspi-unix
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   270
package available at
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   271
@uref{http://untroubled.org/ucspi-unix/}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   272
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   273
@section POP3 or IMAP logins take 30 seconds or longer.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   274
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   275
This is almost certainly a DNS lookup problem.  Make sure that DNS
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   276
lookups aren't timing out, that lookups on all your IP addresses
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   277
aren't failing, and that you can lookup remote addresses as well.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   278
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   279
If you are using @code{tcpserver} for the head end to @code{qmail-pop3d}, then 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   280
you may want to add the following 2 switches to the command line: @samp{-R} and 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   281
@samp{-H}.  The former prevents @code{tcpserver} from attempting to obtain 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   282
@var{TCPREMOTEINFO} from the remote host.  This eliminates an @code{ident} 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   283
lookup that may be being blocked or silently dropped by a firewall. The latter 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   284
prevents @code{tcpserver} from doing a DNS lookup on the remote IP.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   285
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   286
@c ****************************************************************************
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   287
@chapter Miscellaneous
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   288
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   289
@section How do I get in contact with other users?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   290
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   291
There is a mailing list run by the author. To subscribe, send an
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   292
e-mail (content and subject line is ignored) to
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   293
@email{vmailmgr-subscribe@@lists.untroubled.org}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   294
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   295
Remember that if you have a problem that you want us to diagnose, we
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   296
need to know the following important details:
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   297
@enumerate
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   298
@item
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   299
The output of @code{qmail-showctl}
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   300
@item
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   301
The contents of the @code{vmailmgrd} log for the attempt you are
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   302
trying to diagnose
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   303
@item
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   304
The contents of the qmail and smtpd logs for a failed delivery
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   305
attempt
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   306
@item
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   307
The contents of the pop3d logs for a failed login attempt
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   308
@item
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   309
The complete command line with which @code{vmailmgrd} and @code{qmail-pop3d}
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   310
was invoked
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   311
@end enumerate
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   312
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   313
Please do not contact the author directly with vmailmgr questions. 
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   314
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   315
@section Are development version of vmailmgr available anywhere?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   316
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   317
Yes, they are available through anonymous CVS.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   318
To access the CVS server, set your @code{CVSROOT} to
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   319
@kbd{:pserver:cvs@@bruce-guenter.dyndns.org:/CVS}, log in with an
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   320
empty password, and check out the @code{vmailmgr} module.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   321
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   322
@section How does incoming email get handled?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   323
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   324
Incoming email is first received by the qmail SMTP daemon and
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   325
inserted into the qmail queue. Then @code{qmail-send} examines
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   326
the email envelope (which details the recipient address or
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   327
addresses) to determine how to dispatch the message. It looks up the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   328
domain name of each recipient in
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   329
@file{/var/qmail/control/virtualdomains}, and prefixes the user
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   330
name with the string that it finds. It then looks up the resulting
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   331
user name in the system password table (or in
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   332
@file{/var/qmail/users/cdb} if it exists) to find the base user
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   333
name and home directory (which I will call @code{$HOME}). It
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   334
then looks for the file @file{@code{$HOME}/.qmail-VIRTUAL}. If that's
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   335
not found, it looks for the file @file{@code{$HOME}/.qmail-default},
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   336
which will contain an instruction to pipe the message to
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   337
@code{vdeliver}.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   338
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   339
This is where vmailmgr first enters the picture. The virtual user
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   340
name is sent to @code{vdeliver} through environment variables. It looks
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   341
in the configuration files (in @file{@code{$HOME}/.vmailmgr} and then
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   342
in @file{/etc/vmailmgr}) to determine the location of the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   343
password table, and looks up the virtual user name in the table to
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   344
determine delivery instructions. If the name is not found, the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   345
message is bounced and delivery ends. Otherwise, it then looks for
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   346
the @code{vdeliver-predeliver} script in the configuration
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   347
directories (in reverse order) and executes any that are found. It
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   348
then delivers the message to all the listed destinations -- an
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   349
optional mailbox directory and zero or more forwarding
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   350
addresses. Finally, it looks for the @code{vdeliver-postdeliver}
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   351
script and executes any that are found.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   352
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   353
@section How does outgoing email get handled?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   354
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   355
Outgoing email is not handled by vmailmgr. For details on outgoing
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   356
email handling, check the qmail documentation.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   357
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   358
@section What about security of CGI and PHP functions?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   359
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   360
The socket used by the daemon is a UNIX-domain socket (as opposed to
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   361
Internet-domain), meaning you need local access on the computer to
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   362
open up a connection.  The path for this socket is run-time
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   363
configurable.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   364
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   365
The daemon forks a new connection for each connection, up to a
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   366
configurable maximum (at which point it stops listening, IIRC, I
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   367
should verify this).  The idea of threading has been completely
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   368
discarded to avoid a bug in a command creeping in and making the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   369
whole server break.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   370
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   371
The protocol spoken over the socket is explicitly bounded to at most
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   372
64kB of data, and all data is prefixed by a size.  Static-sized
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   373
buffers are only used with static-sized reads, and therefore can't be
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   374
overflowed with stack-smashing tricks.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   375
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   376
The daemon commands setuid to the appropriate user as soon as the base
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   377
user has been verified, to avoid doing any more than necessary as
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   378
root, as well as to avoid the possibility of tricking the daemon into
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   379
reading a file another user wouldn't normally have access to.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   380
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   381
To help avoid DoS on the local computer, a 1-second alarm is set as
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   382
soon as the connection is received, and is only cleared once all the
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   383
data has been read.  If it takes longer than 1 second to read the data
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   384
from the socket, the server process exits.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   385
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   386
@section What are the differences between vmailmgr and vpopmail?
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   387
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   388
The primary difference between vmailmgr and vpopmail is the use of
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   389
base users.  With vmailmgr there is one base user for each virtual
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   390
domain.  With vpopmail, there is one base user for the entire
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   391
virtual domain system.
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   392
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   393
@contents
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   394
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   395
@bye
b3afb9f1e801 Imported vmailmgr-0.97
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
   396