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¶
MIMENonMultipartから派生したクラス (MIMEImageなど) のインスタンスでattach()を呼び出すと送出されます。MultipartConversionErrorはMessageErrorと組み込みのTypeErrorを多重継承しています。
- exception email.errors.MessageDefect¶
電子メールメッセージの解析中に見つかったすべての障害の基底クラスです。
ValueErrorから派生しています。
- exception email.errors.HeaderDefect¶
電子メールヘッダーの解析中に見つかったすべての障害の基底クラスです。
MessageDefectから派生しています。
以下は FeedParser がメッセージの解析中に検出する障害 (defect) の一覧です。これらの障害は、問題が見つかったメッセージに追加されるため、たとえば 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¶
メッセージの最初のヘッダー行が継続行になっています。
- exception email.errors.MisplacedEnvelopeHeaderDefect¶
ヘッダーブロックの途中に "Unix From" ヘッダーが見つかりました。
- exception email.errors.MissingHeaderBodySeparatorDefect¶
ヘッダーの解析中に、先頭に空白がなく、コロンも含まない行が見つかりました。 その行を本文の最初の行とみなして解析を続けます。
Added in version 3.3.
- exception email.errors.MalformedHeaderDefect¶
コロンがないなど、形式が不正なヘッダーが見つかりました。
バージョン 3.3 で非推奨: この障害は、ここ数バージョンの Python では使われていません。
- 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¶
不正な日付フィールド、または解析できない日付フィールドをデコードするときに発生します。 元の値はそのまま保持されます。