email.errors: Exception- und Defektklassen

Quellcode: Lib/email/errors.py


Die folgenden Ausnahmeklassen sind im Modul email.errors definiert

exception email.errors.MessageError

Dies ist die Basisklasse für alle Ausnahmen, die das Paket email auslösen kann. Sie leitet sich von der Standardklasse Exception ab und definiert keine zusätzlichen Methoden.

exception email.errors.MessageParseError

Dies ist die Basisklasse für Ausnahmen, die von der Klasse Parser ausgelöst werden. Sie leitet sich von MessageError ab. Diese Klasse wird auch intern vom Parser verwendet, der von headerregistry verwendet wird.

exception email.errors.HeaderParseError

Wird unter bestimmten Fehlerbedingungen beim Parsen der RFC 5322-Header einer Nachricht ausgelöst. Diese Klasse leitet sich von MessageParseError ab. Die Methode set_boundary() löst diesen Fehler aus, wenn der Inhaltstyp unbekannt ist, wenn die Methode aufgerufen wird. Header kann diesen Fehler bei bestimmten Base64-Dekodierungsfehlern auslösen und wenn versucht wird, einen Header zu erstellen, der einen eingebetteten Header zu enthalten scheint (d. h. es gibt eine fortlaufende Zeile, die keinen führenden Leerraum hat und wie ein Header aussieht).

exception email.errors.BoundaryError

Veraltet und wird nicht mehr verwendet.

exception email.errors.MultipartConversionError

Wird ausgelöst, wenn die Methode attach() auf einer Instanz einer Klasse aufgerufen wird, die von MIMENonMultipart abgeleitet ist (z. B. MIMEImage). MultipartConversionError erbt mehrfach von MessageError und dem integrierten TypeError.

exception email.errors.HeaderWriteError

Wird ausgelöst, wenn beim Ausgeben von Headern durch den generator ein Fehler auftritt.

exception email.errors.MessageDefect

Dies ist die Basisklasse für alle Defekte, die beim Parsen von E-Mail-Nachrichten gefunden werden. Sie leitet sich von ValueError ab.

exception email.errors.HeaderDefect

Dies ist die Basisklasse für alle Defekte, die beim Parsen von E-Mail-Headern gefunden werden. Sie leitet sich von MessageDefect ab.

Hier ist die Liste der Defekte, die der FeedParser beim Parsen von Nachrichten finden kann. Beachten Sie, dass die Defekte der Nachricht hinzugefügt werden, bei der das Problem gefunden wurde. Wenn beispielsweise eine Nachricht, die in einer multipart/alternative verschachtelt war, einen fehlerhaften Header hatte, hätte dieses verschachtelte Nachrichtenobjekt einen Defekt, die enthaltenden Nachrichten jedoch nicht.

Alle Defektklassen sind Unterklassen von email.errors.MessageDefect.

exception email.errors.NoBoundaryInMultipartDefect

Eine Nachricht wurde als multipart deklariert, hatte aber keinen boundary-Parameter.

exception email.errors.StartBoundaryNotFoundDefect

Die im Header Content-Type beanspruchte Startgrenze wurde nie gefunden.

exception email.errors.CloseBoundaryNotFoundDefect

Eine Startgrenze wurde gefunden, aber keine entsprechende Endgrenze wurde jemals gefunden.

Hinzugefügt in Version 3.3.

exception email.errors.FirstHeaderLineIsContinuationDefect

Die Nachricht hatte eine fortlaufende Zeile als erste Header-Zeile.

exception email.errors.MisplacedEnvelopeHeaderDefect

Ein „Unix From“-Header wurde mitten in einem Headerblock gefunden.

exception email.errors.MissingHeaderBodySeparatorDefect

Beim Parsen von Headern wurde eine Zeile gefunden, die keinen führenden Leerraum hatte, aber kein „:“ enthielt. Das Parsen wird fortgesetzt, wobei angenommen wird, dass die Zeile die erste Zeile des Körpers darstellt.

Hinzugefügt in Version 3.3.

exception email.errors.MalformedHeaderDefect

Ein Header wurde gefunden, dem ein Doppelpunkt fehlte oder der anderweitig falsch formatiert war.

Veraltet seit Version 3.3: Dieser Defekt wird seit mehreren Python-Versionen nicht mehr verwendet.

exception email.errors.MultipartInvariantViolationDefect

Eine Nachricht wurde als multipart deklariert, aber es wurden keine Unterteile gefunden. Beachten Sie, dass, wenn eine Nachricht diesen Defekt hat, ihre Methode is_multipart() False zurückgeben kann, obwohl ihr Inhaltstyp als multipart deklariert ist.

exception email.errors.InvalidBase64PaddingDefect

Beim Dekodieren eines Blocks von Base64-kodierten Bytes war die Auffüllung nicht korrekt. Es wird genügend Auffüllung hinzugefügt, um die Dekodierung durchzuführen, aber die resultierenden dekodierten Bytes können ungültig sein.

exception email.errors.InvalidBase64CharactersDefect

Beim Dekodieren eines Blocks von Base64-kodierten Bytes wurden Zeichen außerhalb des Base64-Alphabets angetroffen. Die Zeichen werden ignoriert, aber die resultierenden dekodierten Bytes können ungültig sein.

exception email.errors.InvalidBase64LengthDefect

Beim Dekodieren eines Blocks von Base64-kodierten Bytes war die Anzahl der nicht-auffüllenden Base64-Zeichen ungültig (1 mehr als ein Vielfaches von 4). Der kodierte Block wurde unverändert beibehalten.

exception email.errors.InvalidDateDefect

Beim Dekodieren eines ungültigen oder nicht parsierbaren Datumsfeldes. Der ursprüngliche Wert wird unverändert beibehalten.