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 디코딩 에러와 내장된 헤더를 포함하는 것으로 보이는 헤더를 만들려고 할 때 (즉, 연장 줄(continuation line)이어야 할 곳에 선행 공백이 없고 헤더처럼 보이는 것이 있을 때) 이 에러를 발생시킬 수 있습니다.

exception email.errors.BoundaryError

폐지되었고 더는 사용되지 않습니다.

exception email.errors.MultipartConversionError

MIMENonMultipart에서 파생된 클래스(가령 MIMEImage)의 인스턴스에서 attach() 메서드를 호출할 때 발생합니다. MultipartConversionErrorMessageError와 내장 TypeError에서 다중 상속됩니다.

exception email.errors.HeaderWriteError

Raised when an error occurs when the generator outputs headers.

exception email.errors.MessageDefect

이메일 메시지를 구문 분석할 때 발견되는 모든 결함에 대한 베이스 클래스입니다. ValueError에서 파생됩니다.

exception email.errors.HeaderDefect

이메일 헤더를 구문 분석할 때 발견되는 모든 결함에 대한 베이스 클래스입니다. MessageDefect에서 파생됩니다.

다음은 메시지를 구문 분석하는 동안 FeedParser가 찾을 수 있는 결함 목록입니다. 문제가 발견된 메시지에 결함이 추가됨에 유의하십시오. 그래서, 예를 들어, multipart/alternative 내에 중첩된 메시지에 잘못된 헤더가 있으면, 해당 중첩 메시지 객체가 결함을 갖게 되지만 포함하는 메시지는 그렇지 않습니다.

모든 결함 클래스는 email.errors.MessageDefect의 서브 클래스입니다.

exception email.errors.NoBoundaryInMultipartDefect

메시지가 멀티 파트라고 주장했지만, boundary 파라미터가 없습니다.

exception email.errors.StartBoundaryNotFoundDefect

Content-Type 헤더에서 주장하는 시작 경계를 찾지 못했습니다.

exception email.errors.CloseBoundaryNotFoundDefect

시작 경계가 발견되었지만, 해당하는 종료 경계가 발견되지 않았습니다.

Added in version 3.3.

exception email.errors.FirstHeaderLineIsContinuationDefect

메시지의 첫 번째 헤더 줄에 연장 줄(continuation line)이 있습니다.

exception email.errors.MisplacedEnvelopeHeaderDefect

헤더 블록 중간에 “Unix From” 헤더가 있습니다.

exception email.errors.MissingHeaderBodySeparatorDefect

헤더를 구문 분석하는 중에 선행 공백이 없지만 ‘:’ 가 포함되지 않은 줄이 발견되었습니다. 그 줄이 본문의 첫 번째 줄을 나타내는 것으로 가정하여 구문 분석이 계속됩니다.

Added in version 3.3.

exception email.errors.MalformedHeaderDefect

콜론이 없거나 다른 식으로 잘못된 헤더가 발견되었습니다.

버전 3.3부터 폐지됨: 이 결함은 여러 파이썬 버전에서 사용되지 않았습니다.

exception email.errors.MultipartInvariantViolationDefect

메시지가 multipart라고 주장했지만, 서브 파트가 없습니다. 메시지에 이 결함이 있으면, 콘텐츠 유형이 multipart라고 주장하더라도 is_multipart() 메서드는 False를 반환할 수 있음에 유의하십시오.

exception email.errors.InvalidBase64PaddingDefect

base64로 인코딩된 바이트열 블록을 디코딩할 때, 패딩이 올바르지 않습니다. 디코딩을 수행하기 위해 충분한 패딩이 추가되지만, 바이트열을 디코딩한 결과는 유효하지 않을 수 있습니다.

exception email.errors.InvalidBase64CharactersDefect

base64로 인코딩된 바이트열 블록을 디코딩할 때, base64 알파벳 이외의 문자가 발견되었습니다. 문자는 무시되지만, 바이트열을 디코딩한 결과는 유효하지 않을 수 있습니다.

exception email.errors.InvalidBase64LengthDefect

base64로 인코딩된 바이트열 블록을 디코딩할 때, 비 패딩 base64 문자 수가 유효하지 않습니다 (4의 배수보다 1이 큽니다). 인코딩된 블록은 그대로 유지됩니다.

exception email.errors.InvalidDateDefect

When decoding an invalid or unparsable date field. The original value is kept as-is.