courierpop3d - The Courier POP3 server
/usr/sbin/couriertcpd
{-nodnslookup} {-stderr=syslog} {110}
{/usr/lib/courier/courier/courierpop3login} [ modules...]
{/usr/lib/courier/courier/courierpop3d} {./Maildir}
This is a simple POP3 server for Maildirs.
Note
The
couriertcpd,
courierpop3login, and
courierpop3d modules
may be installed elsewhere than indicated here.
courierpop3login is usually started by
couriertcpd. It already
expects that a POP3 client is connected to standard input and output,
presumably via a network socket.
courierpop3login reads the POP3 userid
and password, then runs the authentication modules. The remaining arguments
are passed along as arguments to modules.
modules is one or more authentication modules (see the
authlib(7)[1] manual page).
Each authentication modules runs the program specified by its first argument,
allowing the authentication modules to be chained. The last program in the
chain is
courierpop3d , which provides the actual POP3 service. In
accordance with the authentication protocol, as described in
authlib(7)[1]
courierpop3d reads file descriptor 3 to see
if the userid/password has been succesfully validated. If not,
courierpop3d terminates.
Otherwise,
courierpop3d expects to be already running under the
appropriate user and group id, with its current directory set to the account's
home directory.
The first order of business is to find the account's Maildir. If the environment
variable
MAILDIR is set, that's where we go. That should be the
pathname to the account's Maildir. The environment variable
MAILDIR may
be set by the authentication module. If
MAILDIR is not set,
courierpop3d uses its first argument. Usually, the default maildir is
$HOME/Maildir, therefore the first argument to
courierpop3d is
"./Maildir".
authlib(7)[1],
userdb(8)[2].
Sam Varshavchik
Author
- 1.
-
authlib(7)
- 2.
-
userdb(8)