The base POP3 protocol is defined in RFC 1939.
POP3 is a simple protocol where mail arrives in a POP3 server (usually at your ISP or on a local server such as VPOP3). The email messages are put into a mailbox on the server. Then, an email client (eg Windows Live Mail, Mozilla Thunderbird or a mobile phone etc) will log into the POP3 server and retrieve messages from the server, and (usually) delete them afterwards and then log off. The main place where messages are stored when using POP3 is on the email client, so you should ensure that it is backed up regularly.
The POP3 protocol usually uses port 110, but an old method of encrypting traffic often uses port 995 instead.
POP3 is very basic and does not have any facilities for folders, or even marking messages as 'read'.
If the email client is configured to leave messages on the server, then the client has to keep track of which messages it has already downloaded. It does this using a command called 'UIDL' (Unique ID List) which retrieves a list of unique message IDs assigned to the messages by the POP3 server. This is not foolproof because sometimes the server may reassign unique IDs, or reuse a unique ID causing duplicated messages or missing messages, but these problems are quite rare with well designed POP3 server software.
If the email client is configured to NEVER delete messages, then it will get very slow after some time because every time the email clients logs on it will need to retrieve a full list of the unique IDs, then it will have to compare that list to its own list of which messages have already been downloaded, and then download the messages. There is no requirement for the POP3 server to store messages in order of receipt, so it is impossible to shortcut this process.
POP3 is designed so that only one email client can log into a specific mailbox at once. If a second client attempts to log on at the same time, it should be refused access. If two clients could connect at once, and one client deletes a message, there is no mechanism to inform the second client that the message has been deleted, so it may be unable to download the deleted message which will probably confuse the POP3 email client because that is something that should never happen according to the standards.
When messages are deleted by the email client they are not deleted immediately. Instead they are deleted when the email client logs off with a QUIT command. This helps to prevent messages being lost if the email client crashes. However, it can cause confusion because you may see messages being deleted but they don't actually get deleted.
If new messages arrive in a POP3 mailbox, they will not be visible to the email client until it logs off and back on again. This is why POP3 clients are designed to 'poll' for messages, and email clients may have a 'Send/Receive' button to trigger a poll.
It is possible to have two email clients logging into a single POP3 mailbox, as long as they don't both log in at the same time. If the email clients are configured to leave messages on the server for a couple of days, then they will both get all the messages. However, any message management (eg deleting messages or organising into folders) will have to be performed twice.
IMAP4 was designed to solve many of the limitations of POP3.
A sample POP3 session might go like this:
+OK POP3 server ready
USER fred
+OK Enter password
PASS letmein
+OK 5 messages (61241 octets)
STAT
+OK 5 61241
LIST
+OK 5 messages (61241 octets)
1 1241
2 23451
3 3321
4 5667
5 27561
.
UIDL
+OK 5 messages (61241 octets)
1 anh-637722
2 anh-637723
3 anh-637727
4 anh-637729
5 anh-637735
.
RETR 1
+OK 1241 octets
<message content>
.
DELE 1
+OK message 1 deleted
QUIT
+OK signing off