The Popeye POP3 client

Popeye (apps/popeye) started its life as a pure POP3 client built around the core in pop3Client. It is now additionally capable to deliver mail for external addresses and sitting in a directory via SMTP.


Synopis

popeye ?-user name? ?-password string? ?-host name? ?-auth upass/apop? ?-to mailaddress? ?-port number? ?-use-top-for-retr 0/1? ?-maxtries number? ?-retrydelay number? ?-junkdir path? ?-spooldir path? ?-spoolfiles glob-pattern?

The meaning of the various options is explained below. All the values can be set in a configuration file ('~/.popeyerc') too, by using commands having the same name as the options (without the leading dash).

If values are set in different places a priority scheme is used to resolve conflicts. Hard coded defaults are of lowest priority, followed by the information contained in '~/.popeyerc' and at last the values provided via options. See apps/dotpopeyerc for an example configuration.

-user
The user part of the account information used to log into the POP server.
-password
The password part of the account information used to log into the POP server.
-host
The name of the host running the POP server. The hardcoded default is 'localhost'.
-auth
Determines the method of authentication which is used by client and server to check the legality of the combination of user and password. The hardcoded default is 'upass', i.e. the usage of USER and PASS commands.
Important: 'apop' authentication requires the packages Trf and Memchan.
-to
Popeye delivers retrieved mail via SMTP to the local mail demon for local delivery. This value specifies the local email address to send the retrieved mail to.
-port
The number of the TCP port the server is listening on. The hardcoded default is 110 (pop3).
-use-top-for-retr
Setting this option to 1 forces the system to use 'TOP x 0' instead of 'RETR x'. It is in here because my provider had a brain dead pop3 server for some time. It didn't accept RETR, but delivered the whole mail if 0 was given as 2nd argument to TOP. I don't know wether similar versions of this server are lurking out there, but better be prepared. This option should be left alone under normal circumstances.
-maxtries
The number of tries the application shall do while contacting the POP server. Defaults to 1.
-retrydelay
The number of milliseconds to wait between tries. Defaults to 10 seconds.
-junkdir
The directory to place mail into if local delivery via SMTP failed.
-from
The email address to use by the spooler during delivery of email to an external SMTP server.
-spooldir
The path to the directory containing the emails to deliver to the outside world.

The system expects that each mail resides in its own file and is in half-baked SMTP format.
This means that the actual email is already surrounded by the main SMTP commands used in delivery (RCPT TO, MAIL FROM and DATA). The spooler currently assumes that each file contains only one RCPT TO command, it additionally has to be the second command in the file. 'smail' is a demon which is able to generate this format. See net/smtp/spooler.cls if you are technically inclined.
-spoolfiles
The glob-pattern to use to identify the mail files in the spool directory. Defaults to 'q*'.

Control interfaces

Popeye provides currently only one way to trigger the execution of a fetch cycle, through a remote control interface based upon Comm, a socket based 'send'.

See the POPeye RC interface for an explanation of the available commands.

As the port popeye is listening on for commands changes from invocation to invocation it uses the mini nameserver provided by apps/nserver to register it. This means that this application has to run too.

Applications capable of controlling and/or monitoring popeye via the RC interface are apps/popeyemon and apps/popeye_trigger.


Customization

This currently requires editing the code of the application. This is not as difficult as it sounds. Especially as the code is basically just the creation of some objects which are then plugged to each other.

Here are some changes which might/could be commonly wanted:


Generated by AutoDoc 2.4 at 09/14/2000, invoked by Andreas Kupries