popper - POP 3 server
/usr/sbin/popper [-d] [-s] [-k] [-t trace-file]
[-T timeout] [-b bulldir]
The popper(1) utility is an implementation of the Post
Office Protocol server that runs on a variety of computers to
manage electronic mail for Macintosh and
The bulletin feature gives system administrators a way to send important announcements to all POP users without having to do mass mailings.
The bulletin directory contains one file per bulletin. Each file contains a single mail message with header and body in mailbox format. The first line of each such bulletin must be a "From" line. The easiest way for system administrators to create such bulletins is to mail themselves a copy of the bulletin using the account to which they want replies to be sent, then use their mail program to save the message to a file in the bulletin directory in mailbox format. The bulletin directory must be readable by world.
The name of each bulletin file begins with the bulletin number and can optionally continue with any other characters. For example, the file name of bulletin number 23 might be "23.pophost_down_sunday".
The popper(1) utility creates a file named .popbull in the home directory of each user. This file contains a single line that records the highest numbered bulletin received by the user.
Each time a POP client connects to the server, any new bulletins the user has not received previously are automatically appended to the user's mail.
When a bulletin is copied, the "To" header line is replaced by "To: username@thishost", and any "Status:" header lines are deleted. Otherwise, the bulletin is copied as is.
When a new user checks for mail the first time, popper(1) creates the .popbull file in the user's home directory and seeds it with the current maximum bulletin number. Thus, new users do not get old bulletins.
The Berkeley POP server is a single program (called popper(1)) that is started by inetd(1) when it gets a service request on the POP transmission control protocol (TCP) port. (The official port number specified in RFC 1081 for POP version 3 is port 110. Some POP3 clients, however, attempt to contact the server at port 109, the POP version 2 port. Unless you are running both POP2 and POP3 servers, you can simply define both ports for use by the POP3 server.) The popper(1) program initializes and verifies that the peer Internet protocol (IP) address is registered in the local domain, logging a warning message when a connection is made to a client whose IP address does not have a canonical name. For systems using BSD 4.3 bind, it also checks to see whether a canonical name lookup for the client returns the same peer IP address, logging a warning message if it does not. The server enters the authorization state, during which the client must correctly identify itself by providing a valid user identifier (ID) and password on the server's host computer. No other exchanges are allowed during this state (other than a request to quit). If authentication fails, a warning message is logged and the session ends. After the user is identified, popper(1) changes its user and group IDs to match that of the user and enters the transaction state. The server makes a temporary copy of the user's maildrop, which is used for all subsequent transactions. These include most POP commands to retrieve mail, delete mail, undelete mail, and so forth. When the client quits, the server enters the final update state during which the network connection is terminated and the user's maildrop is updated with the (possibly) modified temporary maildrop.
The POP server uses syslog to keep a record of its activities. On systems with BSD 4.3 syslogging, the server logs (by default) to the "local0" facility at priority "notice" for all messages except debugging, which is logged at priority "debug". The default log file is /usr/spool/mqueue/POPlog. You can change these, however. On systems with 4.2 syslogging all messages are logged to the local log file, usually /usr/spool/mqueue/syslog.
The popper(1) program will log debugging information when the -d parameter is specified after its invocation in the inetd.conf file. Use this option with caution; it generates considerable output in the syslog file. Alternatively, the -t file-name option will place debugging information into file file-name using fprintf(3) instead of syslogd(1).
You can confirm that the POP server is running by using Telnet to connect to port 110 (or 109 if you set it up that way).
The server implements the following two extended commands:
The popper(1) daemon makes use of the following files:
This product includes software developed by the Victoria University of Wellington, New Zealand and its contributors.
RFC1081, RFC1082, RFC1939