--- a/doc/FAQ.txt Sun Jan 20 00:12:17 2008 +0100
+++ b/doc/FAQ.txt Sun Jan 20 00:22:09 2008 +0100
@@ -1,396 +1,572 @@
- VMailMgr FAQ
- Bruce Guenter <mailto:bruceg@em.ca>, Dan Kuykendall
- <mailto:dan@kuykendall.org>
- v1.0, 23 April 2000
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+ Copyright (C) 1998 Bruce Guenter
- VMailMgr Frequently Asked Questions.
- ______________________________________________________________________
+ VMailMgr Frequently Asked Questions.
+
+ 1. Building and Installing
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- Table of Contents
-
+1.1 What compiler and libraries do I need to build vmailmgr?
- 1. Building and Installing
+ 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.
+ _________________________________________________________________
- 1.1 What compiler and libraries do I need to build vmailmgr?
- 1.2 Does vmailmgr work with shadow passwords?
- 1.3 Does vmailmgr support IMAP?
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+1.2 Does vmailmgr work with shadow passwords?
- 2. Setup and Configuration
+ 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 configure script will detect what method of
+ shadow passwords are being used and the programs will be built
+ accordingly.
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+1.3 Does vmailmgr support IMAP?
- 2.1 What other software is needed to run vmailmgr?
- 2.2 How do I record the output of vmailmgrd with syslog?
- 2.3 How do I record the output of vmailmgrd with multilog?
- 2.4 How do I setup VMmailMgr IMAP support?
- 2.5 Upgrading from Previous Versions
- 2.6 How do I configure qmail+patches to use vmailmgr for POP?
- 2.7 How do I allow clients to relay SMTP through me?
+ Yes, vmailmgr supports Courier-IMAP. Some minor steps are needed to
+ make them work, the steps are in the next section of this file.
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- 3. Usage
+ 2. Setup and Configuration
+ _________________________________________________________________
- 3.1 I can only use one IP address. How do I log in as a virtual user?
- 3.2 How do I get all misdirected mail sent to me?
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- 4. Troubleshooting
+2.1 What other software is needed to run vmailmgr?
- 4.1 Bind error message from vmailmgrd.
- 4.2 Error sending to an alias: qmail-queue exited with an error!
- 4.3 Running vmailmgrd fails.
- 4.4 POP3 or IMAP logins take 30 seconds or longer.
+ VMailMgr is based around qmail's handling of virtual users, and as
+ such requires qmail for its operation. If you wish to use the init
+ file to start/stop vmailmgrd or are installing the RPM package,
+ supervise-scripts version 2.2 (or later, available at
+ http://untroubled.org/supervise-scripts/) and daemontools 0.60 (or
+ later, available at http://untroubled.org/rpms/daemontools/) packages
+ are required. If you need to use the vmailmgrd daemon, you will also
+ need the unixserver program, from the ucspi-unix package, available at
+ http://untroubled.org/ucspi-unix/.
- 5. Miscellaneous
+ If you want to use the autoresponse feature, I recommend the use of my
+ own autoresponder program, qmail-autoresponder available at
+ http://untroubled.org/qmail-autoresponder/.
+ _________________________________________________________________
- 5.1 How do I get in contact with other users?
- 5.2 Are development version of vmailmgr available anywhere?
- 5.3 How does incoming email get handled?
- 5.4 How does outgoing email get handled?
- 5.5 What about security of CGI and PHP functions?
- 5.6 What are the differences between vmailmgr and vpopmail?
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+2.2 How do I record the output of vmailmgrd with syslog?
-
- ______________________________________________________________________
+ Output from vmailmgrd can be recorded by either splogger (part of
+ qmail) or with the logger that comes with several flavours of UNIX. To
+ use splogger, pipe the output of vmailmgrd into the command `splogger
+ vmailmgrd'. This will timestamp each entry and tag them with the word
+ `vmailmgrd'. By default, splogger logs to facility 2 (mail). To use
+ logger, pipe the output of vmailmgrd into the command `logger -t
+ vmailmgrd -p mail.notice'. See the respective man pages of these two
+ programs for more information.
- 11.. BBuuiillddiinngg aanndd IInnssttaalllliinngg
-
- 11..11.. WWhhaatt ccoommppiilleerr aanndd lliibbrraarriieess ddoo II nneeeedd ttoo bbuuiilldd vvmmaaiillmmggrr??
+ Note: The use of syslog for logging messages is strongly discouraged
+ due to problems with inefficent and buggy implementation of syslog.
+ _________________________________________________________________
- 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.
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+2.3 How do I record the output of vmailmgrd with multilog?
- 11..22.. DDooeess vvmmaaiillmmggrr wwoorrkk wwiitthh sshhaaddooww ppaasssswwoorrddss??
+ Make a directory into which the output will go, for example
+ `/var/log/vmailmgrd'. Pipe the output of vmailmgrd into the command
+ `multilog t /var/log/vmailmgrd'. See the documentation for multilog
+ for more information on how to adjust its output.
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+2.4 How do I setup VMmailMgr IMAP support?
- 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 `configure' script will detect what method
- of shadow passwords are being used and the programs will be built
- accordingly.
+ 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.
+
+ * You must copy `/usr/local/bin/authvmailmgr' to
+ `/usr/lib/courier-imap/libexec/authlib/authvmailmgr'.
+ * Then modify the AUTHMODULES statement in
+ `/usr/lib/courier-imap/etc/imapd.config' and add authvmailmgr as
+ the first authentication module.
+ _________________________________________________________________
- 11..33.. DDooeess vvmmaaiillmmggrr ssuuppppoorrtt IIMMAAPP??
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+2.5 Upgrading from Previous Versions
- Yes, vmailmgr supports Courier-IMAP. Some minor steps are needed to
- make them work, the steps are in the next section of this file.
-
- 22.. SSeettuupp aanndd CCoonnffiigguurraattiioonn
-
- 22..11.. WWhhaatt ootthheerr ssooffttwwaarree iiss nneeeeddeedd ttoo rruunn vvmmaaiillmmggrr??
+ 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.
+ _________________________________________________________________
- VMailMgr is based around qmail's handling of virtual users, and as
- such requires qmail for its operation. If you wish to use the `init'
- file to start/stop vmailmgrd or are installing the RPM package,
- supervise-scripts version 2.2 (or later, available at
- <http://em.ca/~bruceg/supervise-scripts/>) and daemontools 0.60 (or
- later, available at <http://em.ca/~bruceg/rpms/daemontools/>)
- packages are required. If you need to use the vmailmgrd daemon, you
- will also need the unixserver program, from the ucspi-unix package,
- available at <http://em.ca/~bruceg/ucspi-unix/>.
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+ 2.5.1 Upgrading from version 0.96.6 or earlier
+
+ The vmailmgrd daemon needs to be run by unixserver, as opposed to
+ being a stand-alone program previously.
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+ 2.5.2 Upgrading from version 0.96.2 or earlier
- If you want to use the autoresponse feature, I recommend the use of my
- own autoresponder program, qmail-autoresponder available at
- <http://em.ca/~bruceg/qmail-autoresponder/>.
+ Make sure the vmailmgrd 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.
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- 22..22.. HHooww ddoo II rreeccoorrdd tthhee oouuttppuutt ooff vvmmaaiillmmggrrdd wwiitthh ssyysslloogg??
+ 2.5.3 Upgrading from version 0.94 or earlier, using the POP bulletin facility
+
+ The POP bulletin facility has been moved into a stand-alone program
+ that needs to be executed through checkvpw-postsetuid.
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- Output from vmailmgrd can be recorded by either splogger (part of
- qmail) or with the logger that comes with several flavours of UNIX. To
- use splogger, pipe the output of vmailmgrd into the command `splogger
- vmailmgrd'. This will timestamp each entry and tag them with the word
- `vmailmgrd'. By default, splogger logs to facility 2 (mail). To use
- logger, pipe the output of vmailmgrd into the comamand `logger -t
- vmailmgrd -p mail.notice'. See the respective man pages of these two
- programs for more information.
+ 2.5.4 Upgrading from version 0.93 or earlier
+
+ If you do not use the CGIs, you no longer need to run the vmailmgrd
+ daemon.
+ _________________________________________________________________
- Note: The use of syslog for logging messages is strongly discouraged
- due to problems with inefficent and buggy implementation of syslog.
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+ 2.5.5 Upgrading from version 0.92.2 or earlier
- 22..33.. HHooww ddoo II rreeccoorrdd tthhee oouuttppuutt ooff vvmmaaiillmmggrrdd wwiitthh mmuullttiilloogg??
+ 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 vconf2dir.
+ _________________________________________________________________
- Make a directory into which the output will go, for example
- `/var/log/vmailmgrd'. Pipe the output of vmailmgrd into the command
- `multilog t /var/log/vmailmgrd'. See the documentation for multilog
- for more information on how to adjust its output.
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- 22..44.. HHooww ddoo II sseettuupp VVMMmmaaiillMMggrr IIMMAAPP ssuuppppoorrtt??
+ 2.5.6 Upgrading from version 0.90.2 or earlier
- 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.
+ The name of the user to which mail to an unknown user is delivered
+ changed from `*' to `+'. If you were using this feature, either change
+ all your domains to accomodate this change, or set the
+ `default-username' config file to contain `*'.
+ _________________________________________________________________
- +o You must copy `/usr/local/bin/authvmailmgr` to `/usr/lib/courier-
- imap/libexec/authlib/authvmailmgr`.
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+ 2.5.7 Upgrading from version 0.88 or earlier
- +o Then modify the `AUTHMODULES` statement in `/usr/lib/courier-
- imap/etc/imapd.config` and add `authvmailmgr` as the first
- authentication module.
+ 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 vpasswd2cdb as each base user
+ after upgrading, before re-enabling local deliveries.
+ _________________________________________________________________
- 22..55.. UUppggrraaddiinngg ffrroomm PPrreevviioouuss VVeerrssiioonnss
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+2.6 How do I configure qmail+patches to use vmailmgr for POP?
- 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.
+ Put the string checkvpw into the file
+ `/etc/qmail/control/checkpassword' and restart qmail-pop3d by typing
+ `/etc/rc.d/init.d/pop3d restart'.
+ _________________________________________________________________
- If you are upgrading from version:
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- 00..9966..66 oorr eeaarrlliieerr
- The `vmailmgrd' daemon needs to be run by unixserver, as opposed
- to being a stand-alone program previously.
+2.7 How do I allow clients to relay SMTP through me?
- 00..9966..22 oorr eeaarrlliieerr
- Make sure the `vmailmgrd' 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.
+ Download and install relay-ctrl from
+ http://untroubled.org/relay-ctrl/. It works with vmailmgr, for both
+ POP3 and IMAP clients.
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+ 3. Usage
+ _________________________________________________________________
-
- 00..9944 oorr eeaarrlliieerr,, uussiinngg tthhee PPOOPP bbuulllleettiinn ffaacciilliittyy
- The POP bulletin facility has been moved into a stand-alone
- program that needs to be executed through `checkvpw-postsetuid'.
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+3.1 I can only use one IP address. How do I log in as a virtual user?
- 00..9933 oorr eeaarrlliieerr
- If you do not use the CGIs, you no longer need to run the
- `vmailmgrd' daemon.
-
+ There are two ways to log in without using multiple IP addresses.
- 00..9922..22 oorr eeaarrlliieerr
- 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 `vconf2dir'.
-
+ * The first way is to log in as `userSEPvirtual.domain.org', where
+ `user' is the mailbox name of the virtual user, SEP is one of `@'
+ or `:' (by default, this is configurable in the `/etc/vmailmgr/'
+ directory), and `virtual.domain.org' is the virtual domain's name,
+ as listed in `/var/qmail/control/virtualdomains'.
+ * The second way is to use the internal form of the mailbox name --
+ that is, `baseuser-user', where `user' is the same as above, and
+ `baseuser' is the username of the managing user.
+ For example, `/var/qmail/control/virtualdomains' contains
+ `testdomain.org:testuser', user `testuser' exists, and has set up
+ a virtual mailbox with the name `v'. The separators variable in
+ `/etc/vmailmgr/' contains `@:'. This virtual user could log in as
+ `v@testdomain.org', `v:testdomain.org', or `testuser-v'.
+ _________________________________________________________________
- 00..9900..22 oorr eeaarrlliieerr
- The name of the user to which mail to an unknown user is
- delivered changed from `*' to `+'. If you were using this
- feature, either change all your domains to accomodate this
- change, or set the `default-username' config file to contain
- `*'.
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+3.2 How do I get all misdirected mail sent to me?
+
+ In the `vmailmgr/' configuration directory, there is an entry called
+ `default-username'. If mail to a virtual domain does not match any
+ users or aliases in that domain, it is delivered to the name listed in
+ this configuration item if it exists (which defaults to `+'). To make
+ this deliver to you, simply type:
- 00..8888 oorr eeaarrlliieerr
- 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 `vpasswd2cdb'
- as each base user after upgrading, before re-enabling local
- deliveries.
+vaddalias + me
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+3.3 How can I put system accounts in a virtual domain?
- 22..66.. HHooww ddoo II ccoonnffiigguurree qqmmaaiill++ppaattcchheess ttoo uussee vvmmaaiillmmggrr ffoorr PPOOPP??
+ System accounts are those listed in `/etc/password' (or
+ `/var/qmail/users/cdb'). The system accounts are accessable, either
+ though SMTP or POP3 or IMAP, as `name@DOMAIN', where DOMAIN is listed
+ in `/var/qmail/control/locals'.
+
+ Virtual accounts exist only as an artifact of vmailmgr management.
+ They are accessable as `name@DOMAIN', where DOMAIN is listed in
+ `/var/qmail/control/virtualdomains'.
- Put the string `checkvpw' into the file
- `/etc/qmail/control/checkpassword' and restart pop3d by typing
- `/etc/rc.d/init.d/pop3d restart'.
-
- 22..77.. HHooww ddoo II aallllooww cclliieennttss ttoo rreellaayy SSMMTTPP tthhrroouugghh mmee??
+ You cannot mix accounts within a domain between system and virtual
+ domains. If the domain is in `control/locals', all accounts for that
+ domain must be system accounts. If it is in `control/virtualdomains',
+ all accounts for that domain must be virtual accounts. Also,
+ `control/locals' overrides `control/virtualdomains': if the domain is
+ in `locals', `virtualdomains' is ignored.
- Download and install relay-ctrl from <http://em.ca/~bruceg/relay-
- ctrl/>. It works with vmailmgr, for both POP3 and IMAP clients.
-
- 33.. UUssaaggee
+ As an aside, if the domain is neither in `locals' nor in
+ `virtualdomains', qmail will reject incoming messages, and vmailmgr
+ will treat it as local.
+ _________________________________________________________________
- 33..11.. II ccaann oonnllyy uussee oonnee IIPP aaddddrreessss.. HHooww ddoo II lloogg iinn aass aa vviirrttuuaall
- uusseerr??
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- There are two ways to log in without using multiple IP addresses.
+ 4. Troubleshooting
+ _________________________________________________________________
- The first way is to log in as `userSEPvirtual.domain.org', where
- `user' is the mailbox name of the virtual user, SEP is one of `@' or
- `:' (by default, this is configurable in the `/etc/vmailmgr/'
- directory), and `virtual.domain.org' is the virtual domain's name, as
- listed in `/var/qmail/control/virtualdomains'.
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+4.1 Bind error message from vmailmgrd.
+
+ If vmailmgrd reports
+
+ vmailmgrd: bind: no such file or directory
- The second way is to use the internal form of the mailbox name -- that
- is, `baseuser-user', where `user' is the same as above, and `baseuser'
- is the username of the managing user.
+ when you start it up, it means that can't create its socket file. By
+ default, it will try to create the socket file `/tmp/.vmailmgrd'. You
+ must ensure that `/tmp/' is writable, or that the socket is created in
+ some other place by setting socket-file in the configuration.
+ _________________________________________________________________
- Example: `/var/qmail/control/virtualdomains' contains
-
- testdomain.org:testuser
-
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- User `testuser' exists, and has set up a virtual mailbox with the name
- `v'. The `separators' variable in `/etc/vmailmgr/' contains `@:'. This
- virtual user could log in as `v@testdomain.org', `v:testdomain.org',
- or `testuser-v'.
+4.2 Error sending to an alias: qmail-queue exited with an error!
+ If qmail reports
+ deferral: vdeliver: qmail-queue exited with an error!
- 33..22.. HHooww ddoo II ggeett aallll mmiissddiirreecctteedd mmaaiill sseenntt ttoo mmee??
+ check where your qmail is installed. On Debian systems, you will need
+ to type `ls -s /usr/sbin /var/qmail/bin', since they've installed the
+ qmail binaries into `/usr/sbin'.
+ _________________________________________________________________
- In the `vmailmgr/' configuration directory, there is an entry called
- `default-username'. If mail to a virtual domain does not match any
- users or aliases in that domain, it is delivered to the name listed in
- this configuration item if it exists (which defaults to `+'). To make
- this deliver to you, simply type:
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+4.3 Running vmailmgrd fails.
+
+ When run by itself, vmailmgrd will report
+
+ Timed out waiting for remote
- vaddalias + me
-
-
-
- 44.. TTrroouubblleesshhoooottiinngg
+ vmailmgrd needs to be run from unixserver, part of the ucspi-unix
+ package available at http://untroubled.org/ucspi-unix/.
+ _________________________________________________________________
- 44..11.. BBiinndd eerrrroorr mmeessssaaggee ffrroomm vvmmaaiillmmggrrdd..
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- If vmailmgrd reports `vmailmgrd: bind: no such file or directory' when
- you start it up, it means that can't create its socket file. By
- default, it will try to create the socket file `/tmp/.vmailmgrd'. You
- must ensure that `/tmp' is writable, or that the socket is created in
- some other place by setting `socket-file' in the configuration.
+4.4 POP3 or IMAP logins take 30 seconds or longer.
+
+ 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.
- 44..22.. EErrrroorr sseennddiinngg ttoo aann aalliiaass:: qqmmaaiill--qquueeuuee eexxiitteedd wwiitthh aann eerrrroorr!!
+ If you are using tcpserver for the head end to qmail-pop3d, then you
+ may want to add the following 2 switches to the command line: `-R' and
+ `-H'. The former prevents tcpserver from attempting to obtain
+ TCPREMOTEINFO from the remote host. This eliminates an ident lookup
+ that may be being blocked or silently dropped by a firewall. The
+ latter prevents tcpserver from doing a DNS lookup on the remote IP.
+ _________________________________________________________________
- If qmail reports "deferral: vdeliver: qmail-queue exited with an
- error!", check where your qmail is installed. On Debian systems, you
- will need to type "ls -s /usr/sbin /var/qmail/bin", since they've
- installed the qmail binaries into /usr/sbin.
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- 44..33.. RRuunnnniinngg vvmmaaiillmmggrrdd ffaaiillss..
+ 5. Miscellaneous
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- When run by itself, vmailmgrd will report "Timed out waiting for
- remote". vmailmgrd needs to be run from unixserver, part of the
- ucspi-unix package available at <http://em.ca/~bruceg/ucspi-unix/>.
+5.1 How do I get in contact with other users?
- 44..44.. PPOOPP33 oorr IIMMAAPP llooggiinnss ttaakkee 3300 sseeccoonnddss oorr lloonnggeerr..
+ There is a mailing list run by the author. To subscribe, send an
+ e-mail (content and subject line is ignored) to
+ vmailmgr-subscribe@lists.untroubled.org.
- 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.
+ Remember that if you have a problem that you want us to diagnose, we
+ need to know the following important details:
+ 1. The output of qmail-showctl
+ 2. The contents of the vmailmgrd log for the attempt you are trying
+ to diagnose
+ 3. The contents of the qmail and smtpd logs for a failed delivery
+ attempt
+ 4. The contents of the pop3d logs for a failed login attempt
+ 5. The complete command line with which vmailmgrd and qmail-pop3d was
+ invoked
- If you are using 'tcpserver' for the head end to qmail-pop3d, then you
- may want to the following 2 switches to the command line: -R and -H.
- The former prevents tcpserver from attempting to obtain TCPREMOTEINFO
- from the remote host. This eliminates an "ident" lookup that may be
- being blocked or silently dropped by a firewall. The latter prevents
- tcpserver from doing a DNS lookup on the remote IP.
- 55.. MMiisscceellllaanneeoouuss
+ Please do not contact the author directly with vmailmgr questions.
+ _________________________________________________________________
- 55..11.. HHooww ddoo II ggeett iinn ccoonnttaacctt wwiitthh ootthheerr uusseerrss??
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+5.2 Are development version of vmailmgr available anywhere?
- There is a mailing list run by the author. To subscribe, send an e-
- mail (content and subject line is ignored) to <mailto:vmailmgr-
- subscribe@lists.em.ca>.
+ Yes, they are available through anonymous CVS. To access the CVS
+ server, set your CVSROOT to
+ :pserver:cvs@bruce-guenter.dyndns.org:/CVS, log in with an empty
+ password, and check out the vmailmgr module.
+ _________________________________________________________________
- Remember that if you have a problem that you want us to diagnose, we
- need to know the following important details:
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+5.3 How does incoming email get handled?
- 1. The output of `qmail-showctl`
-
- 2. The contents of the vmailmgrd log for the attempt you are trying to
- diagnose
-
- 3. The contents of the qmail and smtpd logs for a failed delivery
- attempt
+ Incoming email is first received by the qmail SMTP daemon and inserted
+ into the qmail queue. Then qmail-send 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
+ `/var/qmail/control/virtualdomains', 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 `/var/qmail/users/cdb' if it exists)
+ to find the base user name and home directory (which I will call
+ $HOME). It then looks for the file `$HOME/.qmail-VIRTUAL'. If that's
+ not found, it looks for the file `$HOME/.qmail-default', which will
+ contain an instruction to pipe the message to vdeliver.
- 4. The contents of the pop3d logs for a failed login attempt
+ This is where vmailmgr first enters the picture. The virtual user name
+ is sent to vdeliver through environment variables. It looks in the
+ configuration files (in `$HOME/.vmailmgr' and then in `/etc/vmailmgr')
+ 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 vdeliver-predeliver 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 vdeliver-postdeliver script and executes any
+ that are found.
+ _________________________________________________________________
- 5. The complete command line with which vmailmgrd and qmail-pop3d was
- invoked
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
- Please do not contact the author directly with vmailmgr questions.
+5.4 How does outgoing email get handled?
- 55..22.. AArree ddeevveellooppmmeenntt vveerrssiioonn ooff vvmmaaiillmmggrr aavvaaiillaabbllee aannyywwhheerree??
+ Outgoing email is not handled by vmailmgr. For details on outgoing
+ email handling, check the qmail documentation.
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+5.5 What about security of CGI and PHP functions?
- Yes, they are available through anonymous CVS. To access the CVS
- server, set your CVSROOT to :pserver:cvs@bruce-
- guenter.dyndns.org:/CVS, log in with an empty password, and check out
- the vmailmgr module.
+ 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.
- 55..33.. HHooww ddooeess iinnccoommiinngg eemmaaiill ggeett hhaannddlleedd??
+ 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.
- Incoming email is first received by the qmail SMTP daemon and inserted
- into the qmail queue. Then `qmail-send' 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
- `/var/qmail/control/virtualdomains', 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 `/var/qmail/users/cdb' if it exists)
- to find the base user name and home directory (which I will call
- `$HOME'). It then looks for the file `$HOME/.qmail-VIRTUAL'. If that's
- not found, it looks for the file `$HOME/.qmail-default', which will
- contain an instruction to pipe the message to `vdeliver'.
+ 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.
+
+ 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.
+
+ 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.
+ _________________________________________________________________
+
+ [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [
+ ? ]
+
+5.6 What are the differences between vmailmgr and vpopmail?
- This is where vmailmgr first enters the picture. The virtual user name
- is sent to `vdeliver' through environment variables. It looks in the
- configuration files (in `$HOME/.vmailmgr' and then in `/etc/vmailmgr')
- 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 `vdeliver-predeliver' 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 `vdeliver-postdeliver' script and executes
- any that are found.
+ 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.
+ _________________________________________________________________
+
+ [Top] [Contents] [Index] [ ? ]
+
+ Table of Contents
- 55..44.. HHooww ddooeess oouuttggooiinngg eemmaaiill ggeett hhaannddlleedd??
+ 1. Building and Installing
- Outgoing email is not handled by vmailmgr. For details on outgoing
- email handling, check the qmail documentation.
-
+ 1.1 What compiler and libraries do I need to build vmailmgr?
+ 1.2 Does vmailmgr work with shadow passwords?
+ 1.3 Does vmailmgr support IMAP?
- 55..55.. WWhhaatt aabboouutt sseeccuurriittyy ooff CCGGII aanndd PPHHPP ffuunnccttiioonnss??
-
- 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.
+ 2. Setup and Configuration
+ 2.1 What other software is needed to run vmailmgr?
+ 2.2 How do I record the output of vmailmgrd with syslog?
+ 2.3 How do I record the output of vmailmgrd with multilog?
+ 2.4 How do I setup VMmailMgr IMAP support?
+ 2.5 Upgrading from Previous Versions
- 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 makeing the
- whole server break.
+ 2.5.1 Upgrading from version 0.96.6 or earlier
+ 2.5.2 Upgrading from version 0.96.2 or earlier
+ 2.5.3 Upgrading from version 0.94 or earlier, using the POP
+ bulletin facility
+ 2.5.4 Upgrading from version 0.93 or earlier
+ 2.5.5 Upgrading from version 0.92.2 or earlier
+ 2.5.6 Upgrading from version 0.90.2 or earlier
+ 2.5.7 Upgrading from version 0.88 or earlier
- 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.
+ 2.6 How do I configure qmail+patches to use vmailmgr for POP?
+ 2.7 How do I allow clients to relay SMTP through me?
+ 3. Usage
+ 3.1 I can only use one IP address. How do I log in as a virtual user?
+ 3.2 How do I get all misdirected mail sent to me?
+ 3.3 How can I put system accounts in a virtual domain?
- 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.
+ 4. Troubleshooting
+ 4.1 Bind error message from vmailmgrd.
+ 4.2 Error sending to an alias: qmail-queue exited with an error!
+ 4.3 Running vmailmgrd fails.
+ 4.4 POP3 or IMAP logins take 30 seconds or longer.
- 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.
-
- 55..66.. WWhhaatt aarree tthhee ddiiffffeerreenncceess bbeettwweeeenn vvmmaaiillmmggrr aanndd vvppooppmmaaiill??
+ 5. Miscellaneous
+ 5.1 How do I get in contact with other users?
+ 5.2 Are development version of vmailmgr available anywhere?
+ 5.3 How does incoming email get handled?
+ 5.4 How does outgoing email get handled?
+ 5.5 What about security of CGI and PHP functions?
+ 5.6 What are the differences between vmailmgr and vpopmail?
+ _________________________________________________________________
- 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.
+ [Top] [Contents] [Index] [ ? ]
+
+ Short Table of Contents
-
+ 1. Building and Installing
+ 2. Setup and Configuration
+ 3. Usage
+ 4. Troubleshooting
+ 5. Miscellaneous
+ _________________________________________________________________
+ [Top] [Contents] [Index] [ ? ]
-
+ About this document
-
+ This document was generated by Bruce.Guenter.dyndns.org on December,
+ 29 2004 using texi2html
-
+ The buttons in the navigation panels have the following meaning:
-
-
-
-
-
-
-
+ Button Name Go to From 1.2.3 go to
+ [ < ] Back previous section in reading order 1.2.2
+ [ > ] Forward next section in reading order 1.2.4
+ [ << ] FastBack previous or up-and-previous section 1.1
+ [ Up ] Up up section 1.2
+ [ >> ] FastForward next or up-and-next section 1.3
+ [Top] Top cover (top) of document
+ [Contents] Contents table of contents
+ [Index] Index concept index
+ [ ? ] About this page
-
-
+ where the Example assumes that the current position is at
+ Subsubsection One-Two-Three of a document of the following structure:
+ * 1. Section One
-
+ * 1.1 Subsection One-One
-
+ * ...
-
-
-
+ 1.2 Subsection One-Two
+ * 1.2.1 Subsubsection One-Two-One
+ * 1.2.2 Subsubsection One-Two-Two
+ * 1.2.3 Subsubsection One-Two-Three <== Current Position
+ * 1.2.4 Subsubsection One-Two-Four
-
+ 1.3 Subsection One-Three
+ * ...
+ 1.4 Subsection One-Four
+ _________________________________________________________________
+ This document was generated by Bruce.Guenter.dyndns.org on December,
+ 29 2004 using texi2html