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

10/17/2013 - UPDATE

There are now two known POP4 server implementations!  As of 10/17/2013, the domain and website are now hosted by, which also runs the other POP4 server implementation.  You can find out more information about the SimbeyServer and its implementation of the
POP4 protocol and extensions here.