POPD(8)                   BSD System Manager's Manual                  POPD(8)

     popd — POP3 daemon

     popd [-f] [-c config_file]

     The popd server is a fast, RFC1939 compliant POP3 server.

     popd allows mail for users in multiple domains to be served from one
     server in virtual mode.  It also allows for mail to be expired from the
     server (when users collect mail older than a specified time),
     falsification of UIDL information and removal of old mail.

     popd currently supports the following mail store schemas:

     1.      Each message in the mailbox is a separate file and the mailbox is
             a directory.

     2.      The mailbox is a file and all messages are in that file.

     3.      The mailbox is a file and all messages are in that file.  The
             messages in this file are stored in ‘wire format’.  Each line has
             a <CR><LF> at the end, and where the termination character ‘.’
             would appear, it is represented by ‘..’.  This file has a binary

     This manual page refers to 1 as Mail Dir Format, 2 as Mail Box Format and
     3 as Mail Index Format.

     For systems wanting to run mail for many domains it is possible to serve,
     for example, fred@bar.net's mail from /var/mail/bar.net/fred/ or
     /var/mail/bar.net/f/fr/fred depending on the values of ‘n’.

     popd will use one of four schemes to authenticate users.  By default popd
     will use the system password files if no RADIUS server has been
     configured or if it is not run in virtual mode.  If popd is run in
     virtual mode, it will use the Virtual_password_file.  If a RADIUS_server
     has been configured, popd will use RADIUS for password authentication.
     However, popd will always use the APOP_secret_database for all
     authentication requests using the APOP command.

     popd also facilitates the process of sending system-wide notices to users
     with the bulletin feature.  Bulletins are delivered to users at dowload
     time from files in the bulletin directory.  Once the user has downloaded
     the bulletin, the user is not presented with that bulletin again.

     The path to the bulletins is constructed as follows: in normal operation
     bulletin_dir and in virtual operation bulletin_dir/realm.

     If popd is handed a an open socket on stdin and stdout, popd will not
     daemonise.  In other words if popd is launched from inetd(8) it will not
     daemonise, but configuration options will still be observed.

     If popd was compiled with ‘-DUSE_PAM’ then PAM support will be enabled.
     popd presents itself as ‘popd’ to the PAM system.  You will need
     something like the following in your /etc/pam.conf:

     popd    auth    required        pam_unix.so     try_first_pass
     popd    account optional        pam_permit.so

     The following commandline options are supported:

     -c config_file
             The full path to the configuration file that popd should read on
             startup.  the default path is /usr/local/etc/popd.conf.

     -f      Force popd startup if there was an error opening the
             configuration file.  If the configuration file could not be
             opened, programmed defaults will used for all configuration
             options.  See popd.conf(5) for more details.

     See popd.conf(5) for more details on configuring popd.

     /usr/local/etc/popd.conf  The configuration file.
     /etc/services             Translation of service names to port numbers.
     etc_dir/passwd.db         Password file for virtual POP3 server.
     etc_dir/secrets.db        APOP secrets database.
     bulletin_dir/file1 ...    Global bulletins.
     bulletin_dir/domain1/file1 ...
                               Domain specific bulletins.

     An example perl program makesecrets.pl is supplied to aid the
     construction of the APOP_secret_database.  This program may be modified
     to build the Virtual_password_file, which has the same format as the

     popd.conf(5), pam.conf(5), setuid(2), sysexits(3), libradius(3)

     Network Working Group, Post Office Protocol - Version 3, RFC1939.

     Exit status as defined in sysexits(3) are returned.

     popd reports status messages, warnings and errors via syslog(3) using the
     LOG_DAEMON facility.  Warnings and errors are logged using the LOG_NOTICE
     and LOG_CRIT priorities, while connections, authentication and sessions
     are logged at LOG_INFO.

     Perhaps.  This code should be fairly stable.  We've been running it in
     production since 1999.

     popd was originally written for UUNET South Africa in 1999.

     popd was written by Ian Freislich.

     Send bug reports to
     Ian Freislich <ian@freislich.nom.za>.

BSD                           September 20, 1999                           BSD