Spec-Zone.ru › Python 3.12

email.errors: Классы исключений и дефектов

Исходный код: Lib/email/errors.py

В модуле email.errors определены следующие классы исключений:

exception email.errors.MessageError

Это базовый класс для всех исключений, которые может генерировать пакет email. Он происходит от стандартного класса Exception и не определяет дополнительных методов.

exception email.errors.MessageParseError

Это базовый класс для исключений, генерируемых классом Parser. Он происходит от MessageError. Этот класс также используется внутри парсером, используемым в headerregistry.

exception email.errors.HeaderParseError

Выбрасывается при некоторых ошибках при разборе заголовков RFC 5322 сообщения. Этот класс происходит от MessageParseError. Метод set_boundary() выбросит это исключение, если тип содержимого неизвестен при вызове метода. Header может выбросить это исключение при определённых ошибках декодирования base64, а также при попытке создать заголовок, который, по-видимому, содержит вложенный заголовок (то есть, есть предполагаемая строка продолжения без начальных пробелов, выглядящая как заголовок).

exception email.errors.BoundaryError

Устаревший и больше не используется.

exception email.errors.MultipartConversionError

Выбрасывается, когда в объект Message добавляется содержимое с помощью add_payload(), но содержимое уже является скалярным, и основной тип содержимого сообщения Content-Type не multipart или отсутствует. MultipartConversionError многократно наследуется от MessageError и встроенного TypeError.

Поскольку Message.add_payload() устарел, это исключение редко генерируется на практике. Однако исключение также может быть сгенерировано, если метод attach() вызывается на экземпляре класса, производном от MIMENonMultipart (например, MIMEImage).

exception email.errors.HeaderWriteError

Выбрасывается при ошибке вывода заголовков в generator.

exception email.errors.MessageDefect

Это базовый класс для всех дефектов, обнаруженных при разборе электронных писем. Он происходит от ValueError.

exception email.errors.HeaderDefect

Это базовый класс для всех дефектов, обнаруженных при разборе заголовков писем. Он происходит от MessageDefect.

Ниже приведён список дефектов, которые FeedParser может обнаружить при разборе сообщений. Обратите внимание, что дефекты добавляются в сообщение, где была обнаружена проблема. Например, если сообщение, вложенное в multipart/alternative, имело неправильный заголовок, то у этого вложенного объекта сообщения будет дефект, но у содержащих сообщений его не будет.

Все классы дефектов являются подклассами email.errors.MessageDefect.

  • NoBoundaryInMultipartDefect – Сообщение утверждало, что является multipart, но не содержало параметр boundary.
  • StartBoundaryNotFoundDefect – Начальный разделитель, указанный в заголовке Content-Type, так и не был найден.
  • CloseBoundaryNotFoundDefect – Начальный разделитель был найден, но соответствующий закрывающий разделитель так и не был найден.

    Добавлен в версии 3.3.

  • FirstHeaderLineIsContinuationDefect – Сообщение имело строку продолжения в качестве первой строки заголовка.
  • MisplacedEnvelopeHeaderDefect – В середине блока заголовков был найден заголовок «Unix From».
  • MissingHeaderBodySeparatorDefect – При разборе заголовков была найдена строка без начальных пробелов, но без двоеточия. Разбор продолжается с предположением, что строка представляет первую строку тела.

    Добавлен в версии 3.3.

  • MalformedHeaderDefect – Был найден заголовок, в котором отсутствовал двоеточие или он был иным образом некорректен.

    Устарел начиная с версии 3.3: Этот дефект не использовался в течение нескольких версий Python.

  • MultipartInvariantViolationDefect – Сообщение утверждало, что является multipart, но подчастей не было найдено. Обратите внимание, что когда у сообщения есть этот дефект, его метод is_multipart() может возвращать False, хотя его тип содержимого утверждает, что он является multipart.
  • InvalidBase64PaddingDefect – При декодировании блока закодированных в base64 байтов, заполнение было неверным. Для декодирования добавляется достаточное количество заполнения, но полученные декодированные байты могут быть неверными.
  • InvalidBase64CharactersDefect – При декодировании блока закодированных в base64 байтов были встречены символы за пределами алфавита base64. Символы игнорируются, но полученные декодированные байты могут быть неверными.
  • InvalidBase64LengthDefect – При декодировании блока закодированных в base64 байтов число символов base64, не являющихся символами заполнения, было неверным (на 1 больше, чем кратное 4). Кодированный блок сохранялся как есть.
  • InvalidDateDefect – При декодировании неверного или неразбираемого поля даты. Исходное значение сохраняется как есть.

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/email.errors.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API