Bei RetrieveRaw kann ich aber nicht mehr angeben, wohin die Nachricht geladen werden soll, nämlich in idMessage1.
EDIT:
Ich habe es nun so realisiert:
Bei der Prozedur, die die Mails abruft, etc. habe ich vor
idPOP31.Retrieve(1,idMessage1);
msgsize := idPOP31.RetrieveMSGSize
geschrieben, wobei msgsize eine globale Variable vom Typ Integer ist.
Bei OnWorkBegin und OnWork habe ich die Bedingung (if AWorkMode = wmRead), sodass er Anfragen zum Server (Connect, Login) nicht berücksichtigt. Des Weiteren habe ich nun als Maximum für die Progessbar msgsize genommen.