Zum Hauptinhalt springen

7. Server-Antworten (Server Responses)

matches one of the names in the list; similarly, the subset returned by HEADER.FIELDS.NOT contains only the header fields with a non-matching field-name. The field-matching is case-insensitive but otherwise exact. Subsetting does not exclude the [RFC-2822] delimiting blank line between the header and the body; the blank line is included in all header fetches, except in the case of a message which has no body and no blank line.

     The MIME part specifier refers to the [MIME-IMB] header for
this part.

The TEXT part specifier refers to the text body of the message,
omitting the [RFC-2822] header.

Here is an example of a complex message with some of its
part specifiers (Hier ist ein Beispiel einer komplexen
Nachricht mit einigen ihrer Teilbezeichner):

HEADER ([RFC-2822] header of the message)
TEXT ([RFC-2822] text body of the message) MULTIPART/MIXED
1 TEXT/PLAIN
2 APPLICATION/OCTET-STREAM
3 MESSAGE/RFC822
3.HEADER ([RFC-2822] header of the message)
3.TEXT ([RFC-2822] text body of the message) MULTIPART/MIXED
3.1 TEXT/PLAIN
3.2 APPLICATION/OCTET-STREAM
4 MULTIPART/IXED
4.1 IMAGE/GIF
4.1.MIME ([MIME-IMB] header for the IMAGE/GIF)
4.2 MESSAGE/RFC822
4.2.HEADER ([RFC-2822] header of the message)
4.2.TEXT ([RFC-2822] text body of the message) MULTIPART/MIXED
4.2.1 TEXT/PLAIN
4.2.2 MULTIPART/ALTERNATIVE
4.2.2.1 TEXT/PLAIN
4.2.2.2 TEXT/RICHTEXT


Es ist möglich, eine Teilzeichenkette des bezeichneten Texts
abzurufen. Dies geschieht, indem ein öffnender Spitzwinkel
("\<"), die Oktett-Position des ersten gewünschten Oktetts, ein
Punkt, die maximale Anzahl der gewünschten Oktette und ein
schließender Spitzwinkel (">") an den Teilbezeichner angehängt
werden. Befindet sich das beginnende Oktett jenseits des Endes
des Texts, wird eine leere Zeichenkette zurückgegeben.

RFC 3501 IMAPv4 March 2003

     Jeder Teilabruf (partial fetch), der versucht, über das Ende des
Texts hinaus zu lesen, wird entsprechend abgeschnitten. Ein
Teilabruf, der bei Oktett 0 beginnt, wird als Teilabruf
zurückgegeben, selbst wenn dieser Abschnitt stattfand.

Hinweis: Das bedeutet, dass BODY[]``<0.2048>`` einer 1500-Oktett-
Nachricht BODY[]\<0> mit einem Literal der Größe 1500 zurückgibt,
nicht BODY[].

Hinweis: Ein Teilzeichenketten-Abruf eines HEADER.FIELDS- oder
HEADER.FIELDS.NOT-Teilbezeichners wird nach dem Teilen des
Headers berechnet.

Das \Seen-Flag wird implizit gesetzt; führt dies zu einer
Änderung der Flags, SOLLTEN diese als Teil der FETCH-Antworten
enthalten sein.

BODY.PEEK[\<section>]\&lt;\&lt;partial>>
Eine alternative Form von BODY[\<section>], die das \Seen-Flag nicht
implizit setzt.

BODYSTRUCTURE
Die [MIME-IMB]-Body-Struktur der Nachricht. Diese wird vom
Server berechnet, indem die [MIME-IMB]-Headerfelder im
[RFC-2822]-Header und die [MIME-IMB]-Header geparst werden.

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

FLAGS
Die Flags, die für diese Nachricht gesetzt sind.

INTERNALDATE
Das interne Datum (internal date) der Nachricht.

RFC822
Funktionell äquivalent zu BODY[], unterscheidet sich in der
Syntax der resultierenden nicht getaggten FETCH-Daten
(RFC822 wird zurückgegeben).

RFC822.HEADER
Funktionell äquivalent zu BODY.PEEK[HEADER], unterscheidet sich
in der Syntax der resultierenden nicht getaggten FETCH-Daten
(RFC822.HEADER wird zurückgegeben).

RFC822.SIZE
Die [RFC-2822]-Größe der Nachricht.

RFC 3501 IMAPv4 March 2003

  RFC822.TEXT
Funktionell äquivalent zu BODY[TEXT], unterscheidet sich in der
Syntax der resultierenden nicht getaggten FETCH-Daten
(RFC822.TEXT wird zurückgegeben).

UID
Der eindeutige Bezeichner (unique identifier) für die Nachricht.

Example: C: A654 FETCH 2:4 (FLAGS BODY[HEADER.FIELDS (DATE FROM)]) S: * 2 FETCH .... S: * 3 FETCH .... S: * 4 FETCH .... S: A654 OK FETCH completed

6.4.6. STORE-Befehl (STORE Command)​

Arguments: sequence set (Sequenzmenge) message data item name (Nachrichtendaten-Elementname) value for message data item (Wert für Nachrichtendaten-Element)

Responses: untagged responses: FETCH (nicht getaggte Antworten)

Result: OK - store completed (Speichern abgeschlossen) NO - store error: can't store that data (Speicherfehler: jene Daten können nicht gespeichert werden) BAD - command unknown or arguments invalid (Befehl unbekannt oder Argumente ungültig)

  Der STORE-Befehl ändert Daten, die mit einer Nachricht in der
Mailbox verknüpft sind. Normalerweise gibt STORE den aktualisierten
Wert der Daten mit einer nicht getaggten FETCH-Antwort zurück. Ein
Suffix ".SILENT" im Daten-Elementnamen verhindert die nicht
getaggte FETCH-Antwort, und der Server SHOULD davon ausgehen, dass
der Client den aktualisierten Wert selbst ermittelt hat oder an
diesem nicht interessiert ist.

Hinweis: Unabhängig davon, ob das Suffix ".SILENT" verwendet
wurde, SOLLTE der Server eine nicht getaggte FETCH-Antwort
senden, falls eine Änderung an den Flags einer Nachricht aus
einer externen Quelle beobachtet wird. Die Absicht ist, dass
der Status der Flags ohne Wettlaufbedingung (race condition)
determiniert ist.

RFC 3501 IMAPv4 March 2003

  Die derzeit definierten Daten-Elemente, die gespeichert werden
können, sind:

FLAGS \&lt;flag list>
Ersetzt die Flags für die Nachricht (außer \Recent) durch das
Argument. Der neue Wert der Flags wird zurückgegeben, als ob ein
FETCH jener Flags durchgeführt worden wäre.

FLAGS.SILENT \&lt;flag list>
Äquivalent zu FLAGS, aber ohne Rückgabe eines neuen Werts.

+FLAGS \&lt;flag list>
Fügt das Argument zu den Flags der Nachricht hinzu. Der neue Wert
der Flags wird zurückgegeben, als ob ein FETCH jener Flags
durchgeführt worden wäre.

+FLAGS.SILENT \&lt;flag list>
Äquivalent zu +FLAGS, aber ohne Rückgabe eines neuen Werts.

-FLAGS \&lt;flag list>
Entfernt das Argument aus den Flags der Nachricht. Der neue Wert
der Flags wird zurückgegeben, als ob ein FETCH jener Flags
durchgeführt worden wäre.

-FLAGS.SILENT \&lt;flag list>
Äquivalent zu -FLAGS, aber ohne Rückgabe eines neuen Werts.

Example: C: A003 STORE 2:4 +FLAGS (\Deleted) S: * 2 FETCH (FLAGS (\Deleted \Seen)) S: * 3 FETCH (FLAGS (\Deleted)) S: * 4 FETCH (FLAGS (\Deleted \Flagged \Seen)) S: A003 OK STORE completed

6.4.7. COPY-Befehl (COPY Command)​

Arguments: sequence set (Sequenzmenge) mailbox name (Mailbox-Name)

Responses: no specific responses for this command (keine spezifischen Antworten für diesen Befehl)

Result: OK - copy completed (Kopieren abgeschlossen) NO - copy error: can't copy those messages or to that name (Kopierfehler: jene Nachrichten können nicht kopiert werden oder in jenen Namen) BAD - command unknown or arguments invalid (Befehl unbekannt oder Argumente ungültig)

RFC 3501 IMAPv4 March 2003

  Der COPY-Befehl kopiert die angegebenen Nachricht(en) an das Ende
der angegebenen Ziel-Mailbox. Die Flags und das interne Datum der
Nachricht(en) SOLLTEN im Kopie beibehalten werden, und das Recent-
Flag SOLLTE gesetzt werden.

Wenn die Ziel-Mailbox nicht existiert, SOLLTE ein Server einen
Fehler zurückgeben. Er SOLLTE die Mailbox nicht automatisch
erstellen. Sofern er nicht sicher ist, dass die Ziel-Mailbox nicht
erstellt werden kann, MUSS der Server den Antwortcode
"[TRYCREATE]" als Präfix des Texts der getaggten NO-Antwort
senden. Dies gibt dem Client einen Hinweis, dass er einen CREATE-
Befehl versuchen und den COPY wiederholen kann, falls der CREATE
erfolgreich war.

Wenn der COPY-Befehl aus irgendeinem Grund nicht erfolgreich ist,
MÜSSEN Server-Implementierungen die Ziel-Mailbox in ihren Zustand
vor dem COPY-Versuch zurückversetzen.

Example: C: A003 COPY 2:4 MEETING S: A003 OK COPY completed

6.4.8. UID-Befehl (UID Command)​

Arguments: command name (Befehlsname) command arguments (Befehlsargumente)

Responses: untagged responses: FETCH, SEARCH (nicht getaggte Antworten)

Result: OK - UID command completed (UID-Befehl abgeschlossen) NO - UID command error (UID-Befehlsfehler) BAD - command unknown or arguments invalid (Befehl unbekannt oder Argumente ungültig)

  Der UID-Befehl hat zwei Formen. In der ersten Form nimmt er als
Argumente einen COPY-, FETCH- oder STORE-Befehl mit Argumenten
entgegen, die für den jeweiligen Befehl geeignet sind. Jedoch sind
die Zahlen im Sequenzmengen-Argument (sequence set) eindeutige
Bezeichner (unique identifiers) anstelle von Nachrichten-
Sequenznummern. Sequenzmengen-Bereiche sind zulässig, es gibt
jedoch keine Garantie, dass eindeutige Bezeichner zusammenhängend
sind.

Ein nicht existierender eindeutiger Bezeichner wird ignoriert,
ohne dass eine Fehlermeldung erzeugt wird. Daher ist es möglich,
dass ein UID FETCH-Befehl ein OK ohne Daten zurückgibt oder ein
UID COPY oder UID STORE ein OK ohne Ausführung von Operationen
zurückgibt.

In der zweiten Form nimmt der UID-Befehl einen SEARCH-Befehl mit
SEARCH-Befehlsargumenten entgegen. Die Auslegung der Argumente ist
dieselbe wie bei SEARCH; jedoch sind die in einer SEARCH-Antwort
für einen UID SEARCH-Befehl zurückgegebenen Zahlen eindeutige
Bezeichner anstelle von Nachrichten-Sequenznummern.

RFC 3501 IMAPv4 March 2003

  of message sequence numbers. Beispielsweise gibt der Befehl
  UID SEARCH 1:100 UID 443:557 die eindeutigen Bezeichner zurück, die
  der Schnittmenge zweier Sequenzmengen entsprechen, des Bereichs der
  Nachrichten-Sequenznummern 1:100 und des UID-Bereichs 443:557.

       Hinweis: Im obigen Beispiel erscheint der UID-Bereich
       443:557. Derselbe Hinweis, dass ein nicht existierender
       eindeutiger Bezeichner ohne Fehlermeldung ignoriert wird,
       trifft auch hier zu. Daher würde dieser Bereich selbst dann,
       wenn weder UID 443 noch 557 existieren, gültig sein und eine
       vorhandene UID 495 einschließen.

       Beachten Sie ebenfalls, dass ein UID-Bereich von 559:* immer
       die UID der letzten Nachricht in der Mailbox einschließt,
       selbst wenn 559 höher ist als jeder zugewiesene UID-Wert. Dies
       liegt daran, dass der Inhalt eines Bereichs unabhängig von der
       Reihenfolge der Bereichsendpunkte ist. Somit schließt jeder
       UID-Bereich mit * als einem der Endpunkte mindestens eine
       Nachricht ein (die Nachricht mit der höchstnummerierten UID),
       es sei denn, die Mailbox ist leer.

  Die Zahl nach dem "*" in einer nicht getaggten FETCH-Antwort ist
  immer eine Nachrichten-Sequenznummer, kein eindeutiger Bezeichner,
  selbst für eine UID-Befehlsantwort. Server-Implementierungen MÜSSEN
  jedoch das UID-Nachrichtendaten-Element implizit als Teil jeder
  FETCH-Antwort einschließen, die durch einen UID-Befehl verursacht
  wurde, unabhängig davon, ob ein UID als Nachrichtendaten-Element
  für den FETCH angegeben wurde.


  Hinweis: Die Regel, das UID-Nachrichtendaten-Element als Teil einer
  FETCH-Antwort einzuschließen, betrifft in erster Linie die Befehle
  UID FETCH und UID STORE, einschließlich eines UID FETCH-Befehls,
  der UID nicht als Nachrichtendaten-Element enthält. Obwohl es
  unwahrscheinlich ist, dass die anderen UID-Befehle eine nicht
  getaggte FETCH-Antwort verursachen, gilt diese Regel auch für diese
  Befehle.

Example: C: A999 UID FETCH 4827313:4828442 FLAGS S: * 23 FETCH (FLAGS (\Seen) UID 4827313) S: * 24 FETCH (FLAGS (\Seen) UID 4827943) S: * 25 FETCH (FLAGS (\Seen) UID 4828442) S: A999 OK UID FETCH completed

RFC 3501 IMAPv4 March 2003

6.5. Client-Befehle - Experimentell/Erweiterung (Client Commands - Experimental/Expansion)​

6.5.1. X&lt;atom>-Befehl (X&lt;atom> Command)​

Arguments: implementation defined (implementierungsdefiniert)

Responses: implementation defined (implementierungsdefiniert)

Result: OK - command completed (Befehl abgeschlossen) NO - failure (Fehlschlag) BAD - command unknown or arguments invalid (Befehl unbekannt oder Argumente ungültig)

  Jeder Befehl mit dem Präfix X ist ein experimenteller Befehl.
Befehle, die nicht Teil dieser Spezifikation, einer Standard- oder
Standards-Track-Überarbeitung dieser Spezifikation oder eines von
der IESG genehmigten experimentellen Protokolls sind, MÜSSEN das X-
Präfix verwenden.

Alle hinzugefügten nicht getaggten Antworten, die von einem
experimentellen Befehl ausgegeben werden, MÜSSEN ebenfalls mit einem
X gekennzeichnet sein. Server-Implementierungen DÜRFEN keine solchen
nicht getaggten Antworten senden, es sei denn, der Client hat sie
durch Ausgabe des zugehörigen experimentellen Befehls angefordert.

Example: C: a441 CAPABILITY S: * CAPABILITY IMAP4rev1 XPIG-LATIN S: a441 OK CAPABILITY completed C: A442 XPIG-LATIN S: * XPIG-LATIN ow-nay eaking-spay ig-pay atin-lay S: A442 OK XPIG-LATIN ompleted-cay

  1.  Server-Antworten (Server Responses)

    Serverantworten liegen in drei Formen vor: Statusantworten, Serverdaten und Befehlsfortsetzungsanforderung (command continuation request). Die in einer Serverantwort enthaltenen Informationen, die unten in den Antwortbeschreibungen durch „Contents:" gekennzeichnet sind, werden nach Funktion und nicht nach Syntax beschrieben. Die genaue Syntax der Serverantworten wird im Abschnitt „Formale Syntax" beschrieben.

    Der Client MUSS darauf vorbereitet sein, jederzeit eine beliebige Antwort zu akzeptieren.

    Statusantworten können getagt oder nicht getagt sein. Getaggte Statusantworten geben das Abschlussergebnis (OK-, NO- oder BAD-Status) eines Client-Befehls an und haben ein Tag, das mit dem Befehl übereinstimmt.

    Einige Statusantworten und alle Serverdaten sind nicht getagt. Eine nicht getaggte Antwort wird durch das Token "*" anstelle eines Tags angezeigt. Nicht getaggte Statusantworten zeigen Server-Begrüßung oder einen Serverstatus an, der den Abschluss eines Befehls nicht anzeigt (z. B. eine bevorstehende Warnung vor Systemabschaltung).

RFC 3501 IMAPv4 March 2003

Für historische Gründe werden nicht getaggte Serverdaten-Antworten auch als „unsolicited data" (unaufgeforderte Daten) bezeichnet, obwohl streng genommen nur einseitige Serverdaten (unilateral server data) wirklich „unsolicited" sind.

Bestimmte Serverdaten MÜSSEN vom Client aufgezeichnet werden, wenn sie empfangen werden; dies ist in der Beschreibung jener Daten vermerkt. Solche Daten vermitteln kritische Informationen, die die Auslegung aller nachfolgenden Befehle und Antworten beeinflussen (z. B. Aktualisierungen, die die Erstellung oder Vernichtung von Nachrichten widerspiegeln).

Andere Serverdaten SOLLTEN für späteren Bezug aufgezeichnet werden; wenn der Client die Daten nicht aufzeichnen muss oder das Aufzeichnen der Daten keinen offensichtlichen Zweck hat (z. B. eine SEARCH-Antwort, wenn kein SEARCH-Befehl läuft), SOLLTEN die Daten ignoriert werden.

Ein Beispiel für einseitige nicht getaggte Serverdaten tritt auf, wenn die IMAP-Verbindung sich im ausgewählten Zustand (selected state) befindet. Im ausgewählten Zustand prüft der Server die Mailbox auf neue Nachrichten als Teil der Befehlsausführung. Normalerweise ist dies Teil der Ausführung jedes Befehls; daher genügt ein NOOP-Befehl, um auf neue Nachrichten zu prüfen. Werden neue Nachrichten gefunden, sendet der Server nicht getaggte EXISTS- und RECENT-Antworten, die die neue Größe der Mailbox widerspiegeln. Server-Implementierungen, die gleichzeitigen Mehrfachzugriff auf dieselbe Mailbox bieten, SOLLTEN ebenfalls entsprechende einseitige nicht getaggte FETCH- und EXPUNGE-Antworten senden, falls ein anderer Agent den Status von Flags einer beliebigen Nachricht ändert oder Nachrichten entfernt.

Antworten zur Befehlsfortsetzungsanforderung verwenden das Token "+" anstelle eines Tags. Diese Antworten werden vom Server gesendet, um die Annahme eines unvollständigen Client-Befehls und die Bereitschaft für den Rest des Befehls anzuzeigen.

7.1. Server-Antworten - Statusantworten (Server Responses - Status Responses)​

Statusantworten sind OK, NO, BAD, PREAUTH und BYE. OK, NO und BAD können getagt oder nicht getagt sein. PREAUTH und BYE sind immer nicht getagt.

Statusantworten KÖNNEN einen OPTIONALEN „response code" (Antwortcode) enthalten. Ein Antwortcode besteht aus Daten innerhalb eckiger Klammern in Form eines Atoms, möglicherweise gefolgt von einem Leerzeichen und Argumenten. Der Antwortcode enthält zusätzliche Informationen oder Statuscodes für Client-Software über die OK/NO/BAD-Bedingung hinaus und wird definiert, wenn eine spezifische Aktion besteht, die ein Client aufgrund der zusätzlichen Informationen ausführen kann.

RFC 3501 IMAPv4 March 2003

Die derzeit definierten Antwortcodes sind:

  ALERT

Der für Menschen lesbare Text enthält eine besondere Warnung, die
dem Benutzer in einer Weise präsentiert werden MUSS, die dessen
Aufmerksamkeit auf die Meldung lenkt.

BADCHARSET

Optional gefolgt von einer in Klammern gesetzten Liste von
Zeichensätzen. Ein SEARCH schlug fehl, weil der angegebene
Zeichensatz von dieser Implementierung nicht unterstützt wird.
Falls die optionale Liste von Zeichensätzen angegeben ist, führt
diese die Zeichensätze auf, die von dieser Implementierung
unterstützt werden.

CAPABILITY

Gefolgt von einer Liste von Fähigkeiten. Dies kann in der
anfänglichen OK- oder PREAUTH-Antwort erscheinen, um eine
anfängliche Fähigkeitenliste zu übertragen. Dies macht es für
einen Client unnötig, einen separaten CAPABILITY-Befehl zu
senden, wenn er diese Antwort erkennt.

PARSE

Der für Menschen lesbare Text stellt einen Fehler beim Parsen des
[RFC-2822]-Headers oder der [MIME-IMB]-Header einer Nachricht in
der Mailbox dar.

PERMANENTFLAGS

Gefolgt von einer in Klammern gesetzten Liste von Flags, zeigt
an, welche der bekannten Flags der Client dauerhaft ändern kann.
Alle Flags, die in der nicht getaggten FLAGS-Antwort, aber nicht
in der PERMANENTFLAGS-Liste sind, können nicht dauerhaft gesetzt
werden. Wenn der Client versucht, ein Flag zu speichern, das
nicht in der PERMANENTFLAGS-Liste ist, wird der Server entweder
die Änderung ignorieren oder die Zustandsänderung nur für den
Rest der aktuellen Sitzung speichern. Die PERMANENTFLAGS-Liste
kann ebenfalls das Sonder-Flag \* enthalten, das angibt, dass es
möglich ist, neue Schlüsselwörter (keywords) zu erzeugen, indem
versucht wird, jene Flags in der Mailbox zu speichern.

RFC 3501 IMAPv4 March 2003

  READ-ONLY

Die Mailbox ist schreibgeschützt ausgewählt, oder ihr Zugriff
während der Auswahl hat sich von Lese-Schreiben zu Nur-Lesen
geändert.

READ-WRITE

Die Mailbox ist Lese-Schreiben ausgewählt, oder ihr Zugriff
während der Auswahl hat sich von Nur-Lesen zu Lese-Schreiben
geändert.

TRYCREATE

Ein APPEND- oder COPY-Versuch schlägt fehl, weil die Ziel-Mailbox
nicht existiert (im Gegensatz zu einem anderen Grund). Dies ist
ein Hinweis an den Client, dass der Vorgang erfolgreich sein
kann, wenn die Mailbox zuerst durch den CREATE-Befehl erstellt
wird.

UIDNEXT

Gefolgt von einer Dezimalzahl, gibt den nächsten Wert des
eindeutigen Bezeichners an. Siehe Abschnitt 2.3.1.1 für weitere
Informationen.

UIDVALIDITY

Gefolgt von einer Dezimalzahl, gibt den Gültigkeitswert des
eindeutigen Bezeichners an. Siehe Abschnitt 2.3.1.1 für weitere
Informationen.

UNSEEN

Gefolgt von einer Dezimalzahl, gibt die Nummer der ersten
Nachricht ohne gesetztes \Seen-Flag an.

Zusätzliche Antwortcodes, die durch bestimmte Client- oder Server-
Implementierungen definiert sind, SOLLTEN mit einem „X" gekennzeichnet
sein, bis sie zu einer Überarbeitung dieses Protokolls hinzugefügt
werden. Client-Implementierungen SOLLTEN Antwortcodes ignorieren,
die sie nicht erkennen.

7.1.1. OK-Antwort (OK Response)​

Contents: OPTIONAL response code (OPTIONALER Antwortcode) human-readable text (für Menschen lesbarer Text)

  Die OK-Antwort zeigt eine Informationsmeldung vom Server an. Wenn
sie getagt ist, zeigt sie den erfolgreichen Abschluss des
zugehörigen Befehls an. Der für Menschen lesbare Text KANN dem
Benutzer als Informationsmeldung präsentiert werden. Die nicht
getaggte Form zeigt eine rein informierende Meldung an; die Art der
Information KANN durch einen Antwortcode angezeigt werden.

RFC 3501 IMAPv4 March 2003

  Die nicht getaggte Form wird ebenfalls als eine von drei möglichen
Begrüßungen beim Verbindungsaufbau verwendet. Sie zeigt an, dass die
Verbindung noch nicht authentifiziert ist und ein LOGIN-Befehl
benötigt wird.

Example: S: * OK IMAP4rev1 server ready C: A001 LOGIN fred blurdybloop S: * OK [ALERT] System shutdown in 10 minutes S: A001 OK LOGIN Completed

7.1.2. NO-Antwort (NO Response)​

Contents: OPTIONAL response code (OPTIONALER Antwortcode) human-readable text (für Menschen lesbarer Text)

  Die NO-Antwort zeigt eine operative Fehlermeldung vom Server an.
Wenn sie getagt ist, zeigt sie den nicht erfolgreichen Abschluss des
zugehörigen Befehls an. Die nicht getaggte Form zeigt eine Warnung
an; der Befehl kann dennoch erfolgreich abgeschlossen werden. Der
für Menschen lesbare Text beschreibt die Bedingung.

Example: C: A222 COPY 1:2 owatagusiam S: * NO Disk is 98% full, please delete unnecessary data S: A222 OK COPY completed C: A223 COPY 3:200 blurdybloop S: * NO Disk is 98% full, please delete unnecessary data S: * NO Disk is 99% full, please delete unnecessary data S: A223 NO COPY failed: disk is full

7.1.3. BAD-Antwort (BAD Response)​

Contents: OPTIONAL response code (OPTIONALER Antwortcode) human-readable text (für Menschen lesbarer Text)

  Die BAD-Antwort zeigt eine Fehlermeldung vom Server an. Wenn sie
getagt ist, meldet sie einen Protokollebene-Fehler im Befehl des
Clients; das Tag gibt den Befehl an, der den Fehler verursacht hat.
Die nicht getaggte Form zeigt einen Protokollebene-Fehler an, für
den der zugehörige Befehl nicht bestimmt werden kann; sie kann
ebenfalls einen internen Serverfehler anzeigen. Der für Menschen
lesbare Text beschreibt die Bedingung.

RFC 3501 IMAPv4 March 2003

Example: C: ...very long command line... S: * BAD Command line too long C: ...empty line... S: * BAD Empty command line C: A443 EXPUNGE S: * BAD Disk crash, attempting salvage to a new disk! S: * OK Salvage successful, no data lost S: A443 OK Expunge completed

7.1.4. PREAUTH-Antwort (PREAUTH Response)​

Contents: OPTIONAL response code (OPTIONALER Antwortcode) human-readable text (für Menschen lesbarer Text)

  Die PREAUTH-Antwort ist immer nicht getagt und ist eine von drei
möglichen Begrüßungen beim Verbindungsaufbau. Sie zeigt an, dass die
Verbindung bereits durch externe Mittel authentifiziert wurde; daher
wird kein LOGIN-Befehl benötigt.

Example: S: * PREAUTH IMAP4rev1 server logged in as Smith

7.1.5. BYE-Antwort (BYE Response)​

Contents: OPTIONAL response code (OPTIONALER Antwortcode) human-readable text (für Menschen lesbarer Text)

  Die BYE-Antwort ist immer nicht getagt und zeigt an, dass der Server
die Verbindung schließen wird. Der für Menschen lesbare Text KANN
vom Client in einem Statusbericht dem Benutzer angezeigt werden. Die
BYE-Antwort wird unter einer von vier Bedingungen gesendet:

1) als Teil einer normalen Abmeldesequenz. Der Server wird die
Verbindung nach dem Senden der getaggten OK-Antwort auf den
LOGOUT-Befehl schließen.

2) als Panik-Abschaltankündigung. Der Server schließt die
Verbindung sofort.

3) als Ankündigung eines Inaktivitäts-Autoabmeldens. Der Server
schließt die Verbindung sofort.

4) als eine von drei möglichen Begrüßungen beim Verbindungsaufbau,
die anzeigt, dass der Server keine Verbindung von diesem Client
akzeptieren will. Der Server schließt die Verbindung sofort.

RFC 3501 IMAPv4 March 2003

  Der Unterschied zwischen einer BYE, die als Teil einer normalen
LOGOUT-Sequenz auftritt (der erste Fall), und einer BYE, die wegen
eines Fehlers auftritt (die anderen drei Fälle), besteht darin, dass
die Verbindung im Fehlerfall sofort geschlossen wird. In allen Fällen
SOLLTE der Client weiterhin Antwortdaten vom Server lesen, bis die
Verbindung geschlossen ist; dies stellt sicher, dass alle
ausstehenden nicht getaggten oder Abschlussantworten gelesen und
verarbeitet werden.

Example: S: * BYE Autologout; idle for too long

7.2. Server-Antworten - Server- und Mailbox-Status (Server Responses - Server and Mailbox Status)​

Diese Antworten sind immer nicht getagt. Auf diese Weise werden Server- und Mailbox-Statusdaten vom Server zum Client übertragen. Viele dieser Antworten resultieren typischerweise aus einem Befehl mit demselben Namen.

7.2.1. CAPABILITY-Antwort (CAPABILITY Response)​

Contents: capability listing (Fähigkeitenauflistung)

  Die CAPABILITY-Antwort tritt als Ergebnis eines CAPABILITY-Befehls
auf. Die Fähigkeitenauflistung enthält eine durch Leerzeichen
getrennte Auflistung von Fähigkeitsnamen, die der Server
unterstützt. Die Fähigkeitenauflistung MUSS das Atom
„IMAP4rev1" enthalten.

Zusätzlich MÜSSEN Client- und Server-Implementierungen die
Fähigkeiten STARTTLS, LOGINDISABLED und AUTH=PLAIN (beschrieben in
[IMAP-TLS]) implementieren. Siehe den Abschnitt
„Sicherheitsüberlegungen" für wichtige Informationen.

Ein Fähigkeitsname, der mit „AUTH=" beginnt, zeigt an, dass der
Server jenen bestimmten Authentifizierungsmechanismus unterstützt.

Die LOGINDISABLED-Fähigkeit zeigt an, dass der LOGIN-Befehl
deaktiviert ist und dass der Server mit einer getaggten NO-Antwort
auf jeden Versuch reagiert, den LOGIN-Befehl zu verwenden, selbst
wenn der Benutzername und das Passwort gültig sind. Ein IMAP-Client
DARF den LOGIN-Befehl nicht ausgeben, wenn der Server die
LOGINDISABLED-Fähigkeit ankündigt.

Andere Fähigkeitsnamen zeigen an, dass der Server eine Erweiterung,
Überarbeitung oder Änderung des IMAP4rev1-Protokolls unterstützt.
Serverantworten MÜSSEN diesem Dokument entsprechen, bis der Client
einen Befehl ausgibt, der die zugehörige Fähigkeit verwendet.

Fähigkeitsnamen MÜSSEN entweder mit „X" beginnen oder Standard- oder
Standards-Track-IMAP4rev1-Erweiterungen, -Überarbeitungen oder
-Änderungen sein, die bei IANA registriert sind. Ein Server DARF
keine nicht registrierten oder nicht standardisierten
Fähigkeitsnamen anbieten, es sei denn, solche Namen sind mit einem
„X" gekennzeichnet.

RFC 3501 IMAPv4 March 2003

  Client-Implementierungen SOLLTEN keinen anderen Fähigkeitsnamen als
„IMAP4rev1" verlangen und MÜSSEN unbekannte Fähigkeitsnamen
ignorieren.

Ein Server KANN Fähigkeiten automatisch senden, indem er den
CAPABILITY-Antwortcode in den anfänglichen PREAUTH- oder OK-
Antworten verwendet und einen aktualisierten CAPABILITY-Antwortcode
in der getaggten OK-Antwort als Teil einer erfolgreichen
Authentifizierung sendet. Es ist für einen Client unnötig, einen
separaten CAPABILITY-Befehl zu senden, wenn er diese automatischen
Fähigkeiten erkennt.

Example: S: * CAPABILITY IMAP4rev1 STARTTLS AUTH=GSSAPI XPIG-LATIN

7.2.2. LIST-Antwort (LIST Response)​

Contents: name attributes (Namensattribute) hierarchy delimiter (Hierarchie-Trennzeichen) name (Name)

  Die LIST-Antwort tritt als Ergebnis eines LIST-Befehls auf. Sie
gibt einen einzelnen Namen zurück, der der LIST-Spezifikation
entspricht. Es können mehrere LIST-Antworten für einen einzelnen
LIST-Befehl geben.

Vier Namensattribute sind definiert:

\Noinferiors
Es ist nicht möglich, dass unter diesem Namen untergeordnete
Hierarchieebenen existieren; es existieren jetzt keine
untergeordneten Ebenen und es können in Zukunft keine erstellt
werden.

\Noselect
Es ist nicht möglich, diesen Namen als auswählbare Mailbox zu
verwenden.

\Marked
Die Mailbox wurde vom Server als „interessant" markiert; die
Mailbox enthält wahrscheinlich Nachrichten, die seit dem
letzten Mal, als die Mailbox ausgewählt wurde, hinzugefügt wurden.

\Unmarked
Die Mailbox enthält keine zusätzlichen Nachrichten seit dem
letzten Mal, als die Mailbox ausgewählt wurde.

RFC 3501 IMAPv4 March 2003

  Ist es für den Server nicht durchführbar festzustellen, ob die
Mailbox „interessant" ist, oder ist der Name ein \Noselect-Name, so
SOLLTE der Server weder \Marked noch \Unmarked senden.

Das Hierarchie-Trennzeichen ist ein Zeichen, das zur Trennung von
Hierarchieebenen in einem Mailbox-Namen verwendet wird. Ein Client
kann es verwenden, um untergeordnete Mailboxen zu erstellen und um
höhere oder niedrigere Ebenen der Namenshierarchie zu durchsuchen.
Alle Kinder eines Hierarchieknotens der obersten Ebene MÜSSEN dasselbe
Trennzeichen verwenden. Ein NIL-Hierarchie-Trennzeichen bedeutet,
dass keine Hierarchie existiert; der Name ist ein „flacher" Name.

Der Name stellt eine eindeutige Hierarchie von links nach rechts
dar und MUSS gültig für die Verwendung als Referenz in LIST- und
LSUB-Befehlen sein. Sofern nicht \Noselect angegeben ist, MUSS der
Name ebenfalls als Argument für Befehle wie SELECT gültig sein, die
Mailbox-Namen akzeptieren.

Example: S: * LIST (\Noselect) "/" ~/Mail/foo

7.2.3. LSUB-Antwort (LSUB Response)​

Contents: name attributes (Namensattribute) hierarchy delimiter (Hierarchie-Trennzeichen) name (Name)

  Die LSUB-Antwort tritt als Ergebnis eines LSUB-Befehls auf. Sie
gibt einen einzelnen Namen zurück, der der LSUB-Spezifikation
entspricht. Es können mehrere LSUB-Antworten für einen einzelnen
LSUB-Befehl geben. Die Daten sind im Format identisch mit der
LIST-Antwort.

Example: S: * LSUB () "." #news.comp.mail.misc

7.2.4. STATUS-Antwort (STATUS Response)​

Contents: name (Name) status parenthesized list (Status-Klammerliste)

  Die STATUS-Antwort tritt als Ergebnis eines STATUS-Befehls auf. Sie
gibt den Mailbox-Namen zurück, der der STATUS-Spezifikation
entspricht, und die angeforderten Mailbox-Statusinformationen.

Example: S: * STATUS blurdybloop (MESSAGES 231 UIDNEXT 44292)

RFC 3501 IMAPv4 March 2003

7.2.5. SEARCH-Antwort (SEARCH Response)​

Contents: zero or more numbers (null oder mehr Zahlen)

  Die SEARCH-Antwort tritt als Ergebnis eines SEARCH- oder UID
SEARCH-Befehls auf. Die Zahl(en) beziehen sich auf jene Nachrichten,
die den Suchkriterien entsprechen. Für SEARCH sind dies
Nachrichten-Sequenznummern; für UID SEARCH sind dies eindeutige
Bezeichner. Jede Zahl ist durch ein Leerzeichen begrenzt.

Example: S: * SEARCH 2 3 6

7.2.6. FLAGS-Antwort (FLAGS Response)​

Contents: flag parenthesized list (Flag-Klammerliste)

  Die FLAGS-Antwort tritt als Ergebnis eines SELECT- oder EXAMINE-
Befehls auf. Die Flag-Klammerliste identifiziert die Flags (mindestens
die systemdefinierten Flags), die für diese Mailbox anwendbar sind.
Auch andere Flags als die System-Flags können je nach
Server-Implementierung existieren.

Die Aktualisierung aus der FLAGS-Antwort MUSS vom Client aufgezeichnet
werden.

Example: S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)

7.3. Server-Antworten - Mailbox-Größe (Server Responses - Mailbox Size)​

Diese Antworten sind immer nicht getagt. Auf diese Weise werden Änderungen in der Größe der Mailbox vom Server zum Client übertragen. Unmittelbar nach dem Token "*" folgt eine Zahl, die eine Nachrichtenanzahl darstellt.

7.3.1. EXISTS-Antwort (EXISTS Response)​

Contents: none (keine)

  Die EXISTS-Antwort meldet die Anzahl der Nachrichten in der Mailbox.
Diese Antwort tritt als Ergebnis eines SELECT- oder EXAMINE-Befehls
auf und wenn sich die Größe der Mailbox ändert (z. B. neue
Nachrichten).

Die Aktualisierung aus der EXISTS-Antwort MUSS vom Client
aufgezeichnet werden.

Example: S: * 23 EXISTS

RFC 3501 IMAPv4 March 2003

7.3.2. RECENT-Antwort (RECENT Response)​

Contents: none (keine)

  Die RECENT-Antwort meldet die Anzahl der Nachrichten mit gesetztem
\Recent-Flag. Diese Antwort tritt als Ergebnis eines SELECT- oder
EXAMINE-Befehls auf und wenn sich die Größe der Mailbox ändert
(z. B. neue Nachrichten).

Hinweis: Es ist nicht garantiert, dass die Nachrichten-
Sequenznummern der Recent-Nachrichten ein zusammenhängender
Bereich der höchsten n Nachrichten in der Mailbox sein werden
(wobei n der von der RECENT-Antwort gemeldete Wert ist).
Beispiele für Situationen, in denen dies nicht der Fall ist:
mehrere Clients haben dieselbe Mailbox geöffnet (die erste
Sitzung, die benachrichtigt wird, sieht sie als recent, andere
werden sie wahrscheinlich als nicht-recent sehen), und wenn die
Mailbox durch einen Nicht-IMAP-Agent neu geordnet wird.

Die einzig verlässliche Möglichkeit, Recent-Nachrichten zu
identifizieren, besteht darin, die Nachrichten-Flags daraufhin
zu prüfen, welche das \Recent-Flag gesetzt haben, oder einen
SEARCH RECENT durchzuführen.

Die Aktualisierung aus der RECENT-Antwort MUSS vom Client
aufgezeichnet werden.

Example: S: * 5 RECENT

7.4. Server-Antworten - Nachrichtenstatus (Server Responses - Message Status)​

Diese Antworten sind immer nicht getagt. Auf diese Weise werden Nachrichtendaten vom Server zum Client übertragen, oft als Ergebnis eines Befehls mit demselben Namen. Unmittelbar nach dem Token "*" folgt eine Zahl, die eine Nachrichten-Sequenznummer darstellt.

7.4.1. EXPUNGE-Antwort (EXPUNGE Response)​

Contents: none (keine)

  Die EXPUNGE-Antwort meldet, dass die angegebene Nachrichten-
Sequenznummer dauerhaft aus der Mailbox entfernt wurde. Die
Nachrichten-Sequenznummer für jede nachfolgende Nachricht in der
Mailbox wird sofort um 1 verringert, und diese Verringerung spiegelt
sich in Nachrichten-Sequenznummern in nachfolgenden Antworten
(einschließlich anderer nicht getaggter EXPUNGE-Antworten) wider.

RFC 3501 IMAPv4 March 2003

  Die EXPUNGE-Antwort verringert ebenfalls die Anzahl der Nachrichten
in der Mailbox; es ist nicht notwendig, eine EXISTS-Antwort mit dem
neuen Wert zu senden.

Als Ergebnis der sofortigen Verringerungsregel hängen
Nachrichten-Sequenznummern, die in einer Reihe aufeinanderfolgender
EXPUNGE-Antworten erscheinen, davon ab, ob die Nachrichten beginnend
bei niedrigeren Zahlen zu höheren Zahlen oder von höheren Zahlen zu
niedrigeren Zahlen entfernt werden. Wenn beispielsweise die letzten 5
Nachrichten in einer 9-Nachrichten-Mailbox entfernt werden, sendet
ein „niedrig zu hoch"-Server fünf nicht getaggte EXPUNGE-Antworten
für die Nachrichten-Sequenznummer 5, während ein „hoch zu niedrig"-
Server aufeinanderfolgende nicht getaggte EXPUNGE-Antworten für die
Nachrichten-Sequenznummern 9, 8, 7, 6 und 5 sendet.

Eine EXPUNGE-Antwort DARF NICHT gesendet werden, wenn kein Befehl
läuft, noch während der Beantwortung eines FETCH-, STORE- oder
SEARCH-Befehls. Diese Regel ist notwendig, um einen Verlust der
Synchronisation der Nachrichten-Sequenznummern zwischen Client und
Server zu verhindern. Ein Befehl ist nicht „in progress", bis der
vollständige Befehl empfangen wurde; insbesondere ist ein Befehl
während der Aushandlung der Befehlsfortsetzung nicht „in progress".

Hinweis: UID FETCH, UID STORE und UID SEARCH sind andere
Befehle als FETCH, STORE und SEARCH. Eine EXPUNGE-Antwort KANN
während eines UID-Befehls gesendet werden.

Die Aktualisierung aus der EXPUNGE-Antwort MUSS vom Client
aufgezeichnet werden.

Example: S: * 44 EXPUNGE

7.4.2. FETCH-Antwort (FETCH Response)​

Contents: message data (Nachrichtendaten)

  Die FETCH-Antwort gibt Daten über eine Nachricht an den Client
zurück. Die Daten sind Paare von Daten-Elementnamen und ihren Werten
in Klammern. Diese Antwort tritt als Ergebnis eines FETCH- oder
STORE-Befehls auf sowie durch einseitige Server-Entscheidung (z. B.
Flag-Aktualisierungen).

Die aktuellen Daten-Elemente sind:

BODY
Eine Form von BODYSTRUCTURE ohne Erweiterungsdaten.

RFC 3501 IMAPv4 March 2003

  BODY[\<section>]\&lt;\&lt;origin octet>>
     Eine Zeichenkette, die den Body-Inhalt des angegebenen Abschnitts
     ausdrückt. Die Zeichenkette SOLLTE vom Client gemäß der Content-
     Transfer-Encoding, dem Body-Typ und dem Subtyp interpretiert
     werden.

     Wenn das Ursprungs-Oktett angegeben ist, ist diese Zeichenkette
     eine Teilzeichenkette des gesamten Body-Inhalts, beginnend bei
     jenem Ursprungs-Oktett. Das bedeutet, dass BODY[]\&lt;0> abgeschnitten
     sein KANN, aber BODY[] nie abgeschnitten wird.

        Hinweis: Die Ursprungs-Oktett-Einrichtung DARF von einem
        Server in einer FETCH-Antwort NICHT verwendet werden, es sei
        denn, der Client hat sie ausdrücklich durch einen FETCH eines
        BODY[\<section>]\&lt;\&lt;partial>>-Daten-Elements angefordert.

     8-Bit-Textdaten sind zulässig, wenn ein [CHARSET]-Bezeichner Teil
     der Body-Parameter-Klammerliste für diesen Abschnitt ist. Beachten
     Sie, dass Header (Teilbezeichner HEADER oder MIME oder der
     Header-Teil eines MESSAGE/RFC822-Teils) 7-Bit sein MÜSSEN;
     8-Bit-Zeichen sind in Headern nicht zulässig. Beachten Sie
     ebenfalls, dass die [RFC-2822] begrenzende leere Zeile zwischen
     Header und Body nicht vom Header-Zeilen-Teilen betroffen ist; die
     leere Zeile ist immer als Teil der Header-Daten enthalten, außer
     im Fall einer Nachricht, die keinen Body und keine leere Zeile hat.

     Nicht-textuelle Daten wie Binärdaten MÜSSEN in eine Textform wie
     BASE64 transfer-kodiert werden, bevor sie an den Client gesendet
     werden. Um die ursprünglichen Binärdaten abzuleiten, MUSS der
     Client die transfer-kodierte Zeichenkette dekodieren.

  BODYSTRUCTURE
     Eine in Klammern gesetzte Liste, die die [MIME-IMB]-Body-Struktur
     einer Nachricht beschreibt. Diese wird vom Server berechnet, indem
     die [MIME-IMB]-Headerfelder geparst werden, wobei verschiedene
     Felder bei Bedarf vorbesetzt werden.

     Beispielsweise kann eine einfache Textnachricht von 48 Zeilen und
     2279 Oktetten eine Body-Struktur von: ("TEXT" "PLAIN"
     ("CHARSET" "US-ASCII") NIL NIL "7BIT" 2279 48) haben.

     Mehrteiligkeit wird durch Klammerverschachtelung angezeigt. Anstelle
     eines Body-Typs als erstes Element der in Klammern gesetzten Liste
     gibt es eine Folge von einem oder mehr verschachtelten Body-
     Strukturen. Das zweite Element der in Klammern gesetzten Liste ist
     der Multipart-Subtyp (mixed, digest, parallel, alternative usw.).

RFC 3501 IMAPv4 March 2003

     Beispielsweise kann eine zweiteilige Nachricht, bestehend aus einem
     Text und einem BASE64-kodierten Text-Anhang, eine Body-Struktur von:
     (("TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "7BIT" 1152
     23)("TEXT" "PLAIN" ("CHARSET" "US-ASCII" "NAME" "cc.diff")
     "``&lt;[email protected]&gt;``" "Compiler diff"
     "BASE64" 4554 73) "MIXED") haben.

     Erweiterungsdaten folgen auf den Multipart-Subtyp. 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 mehrteiligen Body-Teils liegen in
     folgender Reihenfolge vor:

     body parameter parenthesized list
        Eine in Klammern gesetzte Liste von Attribut/Wert-Paaren
        [z. B. ("foo" "bar" "baz" "rag"), wobei "bar" der Wert von "foo"
        und "rag" der Wert von "baz" ist] wie in [MIME-IMB] definiert.

     body disposition
        Eine in Klammern gesetzte Liste, bestehend aus einem
        Disposition-Typ-String, gefolgt von einer in Klammern gesetzten
        Liste von Disposition-Attribut/Wert-Paaren wie in [DISPOSITION]
        definiert.

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

     body location
        Eine Zeichenkettenliste, die den Body-Inhalts-URI wie in
        [LOCATION] definiert angibt.

     Alle folgenden Erweiterungsdaten sind in dieser Version des
     Protokolls noch nicht definiert. Solche Erweiterungsdaten können aus
     null oder mehr NILs, Zeichenketten, Zahlen oder möglicherweise
     verschachtelten in Klammern gesetzten Listen solcher Daten bestehen.
     Client-Implementierungen, die einen BODYSTRUCTURE-Fetch durchführen,
     MÜSSEN darauf vorbereitet sein, solche Erweiterungsdaten zu
     akzeptieren. Server-Implementierungen DÜRFEN solche Erweiterungsdaten
     nicht senden, bis sie durch eine Überarbeitung dieses Protokolls
     definiert wurden.

     Die Grundelemente eines nicht mehrteiligen Body-Teils liegen in
     folgender Reihenfolge vor:

     body type
        Eine Zeichenkette, die den Content-Medientyp-Namen wie in
        [MIME-IMB] definiert angibt.

RFC 3501 IMAPv4 March 2003

     body subtype
Eine Zeichenkette, die den Content-Subtyp-Namen wie in [MIME-IMB]
definiert angibt.

body parameter parenthesized list
Eine in Klammern gesetzte Liste von Attribut/Wert-Paaren
[z. B. ("foo" "bar" "baz" "rag"), wobei "bar" der Wert von "foo"
und "rag" der Wert von "baz" ist] wie in [MIME-IMB] definiert.

body id
Eine Zeichenkette, die die Content-ID wie in [MIME-IMB] definiert
angibt.

body description
Eine Zeichenkette, die die Content-Beschreibung wie in [MIME-IMB]
definiert angibt.

body encoding
Eine Zeichenkette, die die Content-Transfer-Encoding wie in
[MIME-IMB] definiert angibt.

body size
Eine Zahl, die die Größe des Body in Oktetten angibt. Beachten
Sie, dass diese Größe die Größe in ihrer Transfer-Encoding ist
und nicht die resultierende Größe nach einer etwaigen
Decodierung.

Ein Body-Typ vom Typ MESSAGE und Subtyp RFC822 enthält unmittelbar
nach den Grundelementen die Umschlagstruktur, die Body-Struktur und
die Größe in Textzeilen der gekapselten Nachricht.