## Name

courierpop3d — Courier POP3 server

## Synopsis

`/usr/local/sbin/couriertcpd` {-nodnslookup} {-stderr=syslog} {110} {/usr/local/libexec/courier/courierpop3login} [`modules`...] {/usr/local/libexec/courier/courierpop3d} {./Maildir}

## DESCRIPTION

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) 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) 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`".

## SEE ALSO

authlib(7) , userdb(8) .