Zum Hauptinhalt springen

8. Beispiel einer IMAP4rev1-Verbindung (Sample IMAP4rev1 Connection)

Ein body-Typ vom Typ TEXT enthält unmittelbar nach den Grundelementen (basic fields) die Größe des Body in Textzeilen. Beachten Sie, dass diese Größe die Größe in deren Content-Transfer- Encoding ist und nicht die resultierende Größe nach einer etwaigen Decodierung.

     Erweiterungsdaten (extension data) folgen auf die Grundelemente und
die oben aufgeführten typspezifischen Felder. Erweiterungsdaten
werden bei einem BODY-Fetch niemals zurückgegeben, können aber bei
einem BODYSTRUCTURE-Fetch zurückgegeben werden. Erweiterungsdaten,
falls vorhanden, MÜSSEN in der definierten Reihenfolge vorliegen.

Die Erweiterungsdaten eines nicht mehrteiligen Body-Teils (non-
multipart body part) liegen in folgender Reihenfolge vor:

body MD5
Eine Zeichenkette, die den Body-MD5-Wert gemäß [MD5] angibt.

RFC 3501 IMAPv4 March 2003

     body disposition
        Eine in Klammern gesetzte Liste mit demselben Inhalt und
        derselben Funktion wie die Body-Disposition für einen
        mehrteiligen Body-Teil (multipart body part).

     body language
        Eine Zeichenkette oder in Klammern gesetzte Liste, die den
        Body-Sprachwert gemäß [LANGUAGE-TAGS] angibt.

     body location
        Eine Zeichenkettenliste, die den Body-Inhalts-URI gemäß
        [LOCATION] angibt.

     Alle folgenden Erweiterungsdaten sind in dieser Version des
     Protokolls noch nicht definiert und wären so beschaffen wie oben
     unter Erweiterungsdaten für mehrteilige Bodies beschrieben.

  ENVELOPE
     Eine in Klammern gesetzte Liste, die die Umschlagstruktur (envelope
     structure) einer Nachricht beschreibt. Diese wird vom Server
     berechnet, indem der [RFC-2822]-Header in die Komponententeile
     zerlegt wird, wobei verschiedene Felder bei Bedarf vorbesetzt
     werden.

     Die Felder der Umschlagstruktur liegen in folgender Reihenfolge
     vor: date, subject, from, sender, reply-to, to, cc, bcc,
     in-reply-to und message-id. Die Felder date, subject, in-reply-to
     und message-id sind Zeichenketten. Die Felder from, sender,
     reply-to, to, cc und bcc sind in Klammern gesetzte Listen von
     Adressstrukturen.

     Eine Adressstruktur ist eine in Klammern gesetzte Liste, die eine
     elektronische Mail-Adresse beschreibt. Die Felder einer
     Adressstruktur liegen in folgender Reihenfolge vor: persönlicher
     Name, [SMTP] at-domain-list (Quellroute/source route), Mailbox-Name
     und Host-Name.

     Die [RFC-2822]-Gruppensyntax wird durch eine Sonderform der
     Adressstruktur angezeigt, bei der das Host-Namen-Feld NIL ist. Ist
     das Mailbox-Namen-Feld ebenfalls NIL, so ist dies eine
     Gruppenendemarke (Semikolon in der RFC-822-Syntax). Ist das
     Mailbox-Namen-Feld nicht NIL, so ist dies eine Gruppenstartmarke,
     und das Mailbox-Namen-Feld enthält die Gruppenname-Phrase.

     Wenn die Header-Zeilen Date, Subject, In-Reply-To und Message-ID im
     [RFC-2822]-Header fehlen, ist das entsprechende Mitglied des
     Umschlags NIL; wenn diese Header-Zeilen vorhanden, aber leer sind,
     ist das entsprechende Mitglied des Umschlags die leere Zeichenkette.

RFC 3501 IMAPv4 March 2003

        Hinweis: Einige Server geben im Fall „vorhanden, aber leer" ein
NIL-Umschlagmitglied zurück. Clients SOLLTEN NIL und leere
Zeichenkette als identisch behandeln.

Hinweis: [RFC-2822] verlangt, dass alle Nachrichten einen
gültigen Date-Header haben. Daher kann das date-Mitglied im
Umschlag nicht NIL oder die leere Zeichenkette sein.

Hinweis: [RFC-2822] verlangt, dass die Header In-Reply-To und
Message-ID, falls vorhanden, nicht-leeren Inhalt haben. Daher
können die in-reply-to- und message-id-Mitglieder im Umschlag
nicht die leere Zeichenkette sein.

Wenn die Header-Zeilen From, To, cc und bcc im [RFC-2822]-Header
fehlen oder vorhanden, aber leer sind, ist das entsprechende
Mitglied des Umschlags NIL.

Wenn die Zeilen Sender oder Reply-To im [RFC-2822]-Header fehlen
oder vorhanden, aber leer sind, setzt der Server das entsprechende
Mitglied des Umschlags auf denselben Wert wie das from-Mitglied
(vom Client wird nicht erwartet, dass er dies tut).

Hinweis: [RFC-2822] verlangt, dass alle Nachrichten einen
gültigen From-Header haben. Daher können die from-, sender- und
reply-to-Mitglieder im Umschlag nicht NIL sein.

FLAGS
Eine in Klammern gesetzte Liste von Flags, die für diese Nachricht
gesetzt sind.

INTERNALDATE
Eine Zeichenkette, die das interne Datum (internal date) der
Nachricht darstellt.

RFC822
Entspricht BODY[].

RFC822.HEADER
Entspricht BODY[HEADER]. Beachten Sie, dass dies nicht zur Folge
hatte, dass \Seen gesetzt wurde, da RFC822.HEADER-Antwortdaten als
Ergebnis eines FETCH von RFC822.HEADER auftreten. BODY[HEADER]-
Antwortdaten treten als Ergebnis eines FETCH von BODY[HEADER]
(welches \Seen setzt) oder BODY.PEEK[HEADER] (welches \Seen nicht
setzt) auf.

RFC822.SIZE
Eine Zahl, die die [RFC-2822]-Größe der Nachricht ausdrückt.

RFC 3501 IMAPv4 March 2003

  RFC822.TEXT
Entspricht BODY[TEXT].

UID
Eine Zahl, die den eindeutigen Bezeichner (unique identifier) der
Nachricht ausdrückt.

Beispiel: S: * 23 FETCH (FLAGS (\Seen) RFC822.SIZE 44827)

7.5. Serverantworten - Anforderung zur Befehlsfortsetzung (Server Responses - Command Continuation Request)​

Die Antwort zur Befehlsfortsetzung (command continuation request) wird durch ein „+“-Token anstelle eines Tags angezeigt. Diese Antwortform zeigt an, dass der Server bereit ist, die Fortsetzung eines Befehls vom Client zu akzeptieren. Der restliche Teil dieser Antwort ist eine Zeile Text.

Diese Antwort wird im AUTHENTICATE-Befehl verwendet, um Serverdaten an den Client zu übertragen und zusätzliche Clientdaten anzufordern. Diese Antwort wird ebenfalls verwendet, wenn ein Argument eines beliebigen Befehls ein Literal ist.

Dem Client ist es nicht gestattet, die Oktette des Literals zu senden, es sei denn, der Server zeigt an, dass diese erwartet werden. Dies erlaubt es dem Server, Befehle zeilenweise zu verarbeiten und Fehler zeilenweise zurückzuweisen. Der restliche Teil des Befehls, einschließlich des CRLF, das einen Befehl abschließt, folgt auf die Oktette des Literals. Gibt es weitere Befehlsargumente, so folgen auf die Literal-Oktette ein Leerzeichen und jene Argumente.

Beispiel: C: A001 LOGIN \{11\} S: + Ready for additional command text C: FRED FOOBAR \{7\} S: + Ready for additional command text C: fat man S: A001 OK LOGIN completed C: A044 BLURDYBLOOP \{102856\} S: A044 BAD No such command as "BLURDYBLOOP"