12.2.8 Iterators

Iterating over a message object tree is fairly easy with the Message.walk() method. The email.Iterators module provides some useful higher level iterations over message object trees.

This iterates over all the payloads in all the subparts of msg, returning the string payloads line-by-line. It skips over all the subpart headers, and it skips over any subpart with a payload that isn't a Python string. This is somewhat equivalent to reading the flat text representation of the message from a file using readline(), skipping over all the intervening headers.

typed_subpart_iterator(msg[, maintype[, subtype]])
This iterates over all the subparts of msg, returning only those subparts that match the MIME type specified by maintype and subtype.

Note that subtype is optional; if omitted, then subpart MIME type matching is done only with the main type. maintype is optional too; it defaults to text.

Thus, by default typed_subpart_iterator() returns each subpart that has a MIME type of text/*.

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