Laden...

Ende von Emails erkennen

Erstellt von onlinegurke vor 15 Jahren Letzter Beitrag vor 15 Jahren 823 Views
O
onlinegurke Themenstarter:in
778 Beiträge seit 2007
vor 15 Jahren
Ende von Emails erkennen

Hallo zusammen,

ich hab gerade ein Problem mit Emails. Ich kann nicht genug davon bekommen, oder besser gesagt ich weiß nicht, wann die Email zu Ende ist, bzw. ob ich noch auf was warten sollte. Der Zugriff ist SSL-verschlüsselt mit Pop3-Protokoll, da kann ich ja praktischerweise auch LIST n schicken und kriege die Größe der Mail in Byte. Jetzt hab ich am Stream einen Streamreader dran hängen um nicht mit den einzelnen Bytes arbeiten zu müssen, weiß aber deshalb nicht, wie ich dann messen kann, wieviele Bytes jetzt schon angekommen sind. Momentan ist es entweder so, dass die Antworten abgeschnitten werden (und wesentliche Sachen wie das Datum im Header dann halt fehlen) oder eben es ist schon alles ausgelesen und ich erwarte aber das noch mehr da ist, also Endlosschleife.

Die andere Seite sind irgendwelche Top-Kommandos, wo ich gleich gar nicht weiß, wie viel jetzt kommt.

Wie krieg ich also raus, ob ich noch was zu erwarten habe und kann idealerweise den Streamreader weiterverwenden.

Vielen Dank schon mal...

1.200 Beiträge seit 2007
vor 15 Jahren

Für jeden RETR auf das "+OK" warten, dann beginnt die Message.

Wenn du auf eine Leerzeile mit einem "." stößst ist die Message fertig geladen. Ausserdem wird nach dem "+OK" die Anzahl der bytes (Octets) der Message gesendet. Du könntest also bei jedem "." der in einer Leerzeile ist prüfen, ob die Länge der Strings mit der Anzahl der byte übereinstimmt.

http://www.faqs.org/rfcs/rfc1939.html

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

O
onlinegurke Themenstarter:in
778 Beiträge seit 2007
vor 15 Jahren

mit dem +OK hab ich die Erfahrung gemacht, da kann auch was anderes kommen als die Anzahl der Oktets, z.B. +OK message follows. Aber stimmt, die Sache mit dem Punkt in einer extra Zeile ist ne gute Idee, danke