Connect to server, authenticate. Send STAT to check for messages, If messages available send LIST, ignore messages that are too short and place the rest in a queue.
Send TOP to retrieve header for each message. Remove the ones from the queue which don't have valid Subject.
Now use RETR on the rest to retrieve your segments.
Use DELE to delete messages, ensure to delete backwards to keep server message order.
QUIT from server.
Decode saved messages to disk.