Post Office Protocol Version 4.


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 RFC1939 POP 4 Specification POP 4 FAQ O3 mail system. Implementation of POP 4

Why POP 4?

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 its 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 six new commands related to server side folder management. Four for folder manipulation and two for handling messages with folders.

LFLD - List folders.
SFLD - Select a folder for use.
CFLD - Create a folder.
DFLD - Delete 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.

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.

Quota information.

One new command has been added to enable the server to supply quota information if applicable.

QUOT - List user's quota information.

Persistent connections.

One new command has been added to enable persistent server connections.

PERS - Disable inactivity timeout.

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
Please also check sourceforge for project information related to O3 and POP 4.