pop3d — The Courier POP3 server
/usr/sbin/couriertcpd {-nodnslookup} {-stderr=syslog} {110} {/usr/lib/courier/pop3login} [modules...] {/usr/sbin/pop3d} {./Maildir}
This is a simple POP3 server for Maildirs.
The couriertcpd, pop3login, and pop3d modules may be installed elsewhere than indicated here.
pop3login is usually started by
couriertcpd. It
already expects that a POP3 client is connected to standard input and output,
presumably via a network socket.
pop3login 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)
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 pop3d , which provides the actual POP3 service. In accordance with the authentication protocol, as described in authlib(7) pop3d reads file descriptor 3 to see if the userid/password has been succesfully validated. If not, pop3d terminates.
Otherwise, pop3d 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,
pop3d uses its first argument.
Usually, the default maildir is
$HOME/Maildir, therefore the first argument to
pop3d is
"./Maildir".