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