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
emailauslösen kann. Sie leitet sich von der StandardklasseExceptionab und definiert keine zusätzlichen Methoden.
- exception email.errors.MessageParseError¶
Dies ist die Basisklasse für Ausnahmen, die von der Klasse
Parserausgelöst werden. Sie leitet sich vonMessageErrorab. Diese Klasse wird auch intern vom Parser verwendet, der vonheaderregistryverwendet wird.
- exception email.errors.HeaderParseError¶
Wird unter bestimmten Fehlerbedingungen beim Parsen der RFC 5322-Header einer Nachricht ausgelöst. Diese Klasse leitet sich von
MessageParseErrorab. Die Methodeset_boundary()löst diesen Fehler aus, wenn der Inhaltstyp unbekannt ist, wenn die Methode aufgerufen wird.Headerkann 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 vonMIMENonMultipartabgeleitet ist (z. B.MIMEImage).MultipartConversionErrorerbt mehrfach vonMessageErrorund dem integriertenTypeError.
- exception email.errors.HeaderWriteError¶
Wird ausgelöst, wenn beim Ausgeben von Headern durch den
generatorein 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
ValueErrorab.
- 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
MessageDefectab.
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()Falsezurü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.