12.2.2.3 Additional notes

Python 2.4

12.2.2.3 Additional notes

Here are some notes on the parsing semantics:

  • Most non-multipart type messages are parsed as a single message object with a string payload. These objects will return False for is_multipart(). Their get_payload() method will return a string object.

  • All multipart type messages will be parsed as a container message object with a list of sub-message objects for their payload. The outer container message will return True for is_multipart() and their get_payload() method will return the list of Message subparts.

  • Most messages with a content type of message/* (e.g. message/delivery-status and message/rfc822) will also be parsed as container object containing a list payload of length 1. Their is_multipart() method will return True. The single element in the list payload will be a sub-message object.

  • Some non-standards compliant messages may not be internally consistent about their multipart-edness. Such messages may have a Content-Type: header of type multipart, but their is_multipart() method may return False. If such messages were parsed with the FeedParser, they will have an instance of the MultipartInvariantViolationDefect class in their defects attribute list. See email.Errors for details.

See About this document... for information on suggesting changes.