POP 4 is a specification for a few extensions to the POP 3 internet
email protocol that gives much greater flexibility to email client
programs without adding a heavy burden to the POP server.
POP 3 is based on the principal of providing simple functionality on
the server and putting all of the intelligence on the client. This works
well enough because most of the world is using POP 3 and it's working
just fine.
POP 4 adds a few functions that allow the server to perform some more
useful functionality while adding very little complexity to the
server. The design goal was to create a server protocol based on
POP3 that had the minimum functionality
required to operate a useful web-based mail client. It was not
intended to solve all of the disconnected-mode type problems, but
certainly includes functionality to make it easier.
POP 4 is a superset of POP 3 and was styled around the interface
that POP 3 currently supports. To this end, the protocol is
every bit as simple as POP 3, very little was added in terms of
grammar to support the new commands. So for example the usual
dot-terminated-list is utilized as well as four letter command names.
Please note that below is the complete list of additions for the POP 4
protocol. Some of them are mandatory, some are optional. Please read the
POP 4 spec in the link above for more details about each command.
Overview of additions:
This is a short list of the additions to POP 3 that comprise POP 4.
Server side folders.
There are nine new commands related to server side folder management.
Six are for folder manipulation, and three are for handling messages
with folders.
LFLD - List folders.
SFLD - Select a folder for use.
CFLD - Create a folder.
DFLD - Delete a folder.
MOVF - Move a folder into a different folder.
RENF - Rename a folder.
MOVE - Move one or more messages from current folder to specified
folder.
COPY - Copy one or more messages from current folder to specified
folder.
STOR - Receives message data from the client and adds it to the
current folder.
Message flags.
There are two new commands related to message flags.
SETF - Set a flag for a message.
GETF - Get flags for a message.
Partial message retrieval.
One new command has been added and two have been modified to
support partial message retrieval.
LPRT - List message parts.
The RETR and TOP commands accept an optional second
and third parameter respectively, that specify which message part
to perform the RETR or TOP command on. A POP4 server should include
LPRT in its post-login CAPA list to identify itself as a POP4 server.
Quota information.
One new optional command has been added to enable the server to
supply quota information if applicable.
QUOT - List user's quota information.
Persistent connections.
One new optional command has been added to enable persistent
server connections.
PERS - Disable inactivity timeout.
Message Paging.
Two optional commands have been added for paging and sorting.
SORT - Sets the order of messages returned.
PAGE - Specifies a range of messages to return.
The message lists returned by LIST, UIDL, and XTND XLST are
affected by the SORT and PAGE commands.
Other extensions.
To avoid confusion when referring to messages in a folder, in every
command where a message number is a parameter, the messages UIDL
can be used in its place, if preceded by a hyphen ("-").
The O3 mail system.
The O3 mail system is a standalone email system.
It supplies an SMTP server, a POP 4 server and a message
store mechanism.
It is distributed under the GNU license, available for download
from the link at the top of this page.
Contact information:
Requests for information, or if you would like to discuss
any part of POP 4, please feel free to email me at
pop4@pop4.org Please also check sourceforge for project information
related to O3 and POP 4.