Исторически, почтовый ящик e-mail представлял из себя файл, в котором последовательно хранились письма в формате "Шапка", пустая строка, текст письма. Протокол POP3 предназначен для работы именно с таким форматом почтового ящика. В частности, удаление писем из середины файла это трудоёмкая операция, поэтому она откладывается на конец сеанса.
Команды клиента посылаются серверу в виде мнемонических текстовых сокращений с параметрами. Сервер отвечает кодом +OK в случае успешного выполнения или –ERR в случае ошибки. За кодом может идти дополнительная текстовая информация в произвольной форме.
После установления TCP соединения POP3-сервер посылает клиенту положительный отклик:
<<<+OK POP3 server ready
Далее клиент должен передать имя и пароль
>>>USER mike
<<<+OK
>>>PASS mypasswd
<<<+OK
После успешной авторизации можно получить список писем. Для каждого письма выдается его размер в байтах. Конец списка - строка, состоящая из одной точки.
>>>LIST
<<<+OK 2 messages (320 octets)
<<<1 120
<<<2 200
<<<.
Получение заголовков сообщения (Если последним параметром указать число N, больше чем ноль то будут выданы N первых строк письма.
>>>TOP 1 0
<<<+OK Message follows
<<<From:bob
<<<To:mike
<<<
<<<.
Чтение сообщения по номеру
>>>RETR 1
<<<+OK Message follows
<<<From:bob
<<<To:mike
<<<...
<<<...
<<< .
Пометка сообщений для удаления (удаление произойдёт при завершении сеанса)
>>>DELE 1
<<<+OK message 1 deleted
>>>DELE 2
<<<-ERR message 2 already deleted
Завершение сеанса и окончательное удаление стёртых писем
>>>QUIT
<<<+OK