Because email is one of the early developments of the internet, everything about the connection and download of mails is done in plain text in the English language. So much so that you can log into a mail server and get you mail by typing text commands in response to text prompts from the server
But we are not going there. If that is your interest there is an article here that discusses how to use Telnet to connect to the POP3 server.
I am concentrating on only Three of those POP commands STAT, LIST and RETR.
STAT is the command issued to the server to ask if there is mail to download. The server replies with a message that looks like
+OK nn mm
where nn is number of messages and
mm is the total size of those messages.
LIST is the command that follows and is designed to get the server to provide more information about the messages it is holding. So when your mail client issues the list command to the server it get a reply that looks something like this.
Thunderbird: LIST Server: +OK 2 messages (320 octets) Server: 1 120 Server: 2 200 Server: .
In this example there are 2 messages available
This allows for the Third command, RETR. Using the information obtained in the proceeding LIST the mail client can now proceed to ask the mail server for the message. This is done using the RETR command and the message number. This command is issued once for each message to initiate a download of that message and looks something like this.
Thunderbird: RETR 1 Server: +OK 120 octets Server: <the POP3 server sends the entire message here> Server: .
As you can see, for the RETR command to fail, there basically has to be a problem on the server as the mail client (Thunderbird) is only asking the server to provide that which it has already said is available.
Further information can be found in RFC 1939 which is the standard that all POP3 compliant mail server and clients must comply with