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.HeaderWriteError

generator がヘッダーを出力するときにエラーが発生すると送出されます。

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

不正な日付フィールド、または解析できない日付フィールドをデコードするときに発生します。 元の値はそのまま保持されます。