Nahezu alle Mailprogramme merken sich die "ID" der Mails, welche sie schon haben.
Laden dann alle Header, vergleichen die IDs und laden dann die Bodys der fehlenden Mails.
Besser geht es mit dem
POP3 Kommando
UIDL n, dann bekommt man die eindeutige Mail-ID unter der diese Mail dem
POP3-Server bekannt ist. Zudem erspart man sich das Laden der Header und eine Mail-ID ist im Header auch nicht zwangsläufig zu finden.
Die korrekte Abfolge wäre also
Code:
LIST
// Ergibt die Anzahl der Mails und die gesamte Größe im Postfach
// Jetzt ein Loop über alle Mails
UIDL n
// Ist diese Mail schon geladen?
LIST n
// Ist diese Mail zu groß zum laden?
TOP n
// Spricht irgendetwas dagegen, diese Mail zu laden (Header auswerten)?
RETR n
Kaum macht man's richtig - schon funktioniert's

Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)