einfache Frage zum Emfpangen von eMails (Größenangabe der Bytes einer Mail des Servers)



  • Hallo,

    ich hole Mails ab. Dazu füre ist LIST aus.
    Ich merke mir die Nummer und die Größe der Mail.

    Nach RETR No wird die erste Zeile mit +OK ... übergangen
    ab jetzt werden alle Bytes gezählt.

    Die Anzahl der Bytes-3 (".\r\n" - Endekennung) sollte eigentlich
    der mit LIST ermittelten Größe sein.

    Das ist aber nicht immer der Fall.
    Nun habe ich zwar ne Lösung um das Problem zu umschiffen.

    Wollte aber mal Fragen ob jemanden diese Problem auch schon aufgefallen ist.
    Wenn nicht, müßte ich mein Prg nochmals überprüfen.

    Speziell muß wenn die Angabe nicht stimmt, zwischen 1 und 4 Bytes "nachgeladen" werden. Es fehlten aber auch schon mal 10 Bytes!

    Ist die Angabe von LIST nur eine "in etwas" Größe ?

    MfG
    RB



  • RFC 1939 schrieb:

    In order to simplify parsing, all POP3 servers are
    required to use a certain format for scan listings. A
    scan listing consists of the message-number of the
    message, followed by a single space and the exact size of
    the message in octets
    . Methods for calculating the exact
    size of the message are described in the "Message Format"
    section below. This memo makes no requirement on what
    follows the message size in the scan listing. Minimal
    implementations should just end that line of the response
    with a CRLF pair. More advanced implementations may
    include other information, as parsed from the message.

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



  • ok Danke, ich habe mein Prg nun so abgeändert, daß
    es super funktioniert, wenn ich die Mails von pop.gmx.de hole

    Einfach führende . in einer Zeile nicht mit zählen und die Angaben stimmen
    bei allen Mail exakt überein.

    nur das selbe Programm nun auf pop3.web.de angewendet will so garnicht
    funktionieren, es werden zwischen 2 und ca. 200 Bytes zu viel gesendet.

    Habe nun die Überprüfung auf die Größe entfernt und prüfe nur noch CRLF.CRLF.

    Damit funktioniert es dann auch an beiden Servern.

    Selbst bei sehr kurzen überschaubaren Mails von 1375 Zeichen ( Serverangabe )
    werden 1409 empfangen.

    Laut RFC 1939
    11. Message Format
    ...
    if the POP3 server host internally represents
    end-of-line as a single character, then the POP3 server simply counts
    each occurrence of this character in a message as two octets.
    ...

    Nun habe ich an 3 Mails mal ausgezählt und komme auf die Anzahl zu viel gesendeter Bytes wenn ich die Zeilen zähle.

    Also schient der Server sich irgendwie zu verzählen ...

    MfG
    RB


Anmelden zum Antworten