There are several useful utilities provided in the email.utils module:
This method returns a list of 2-tuples of the form returned by parseaddr(). fieldvalues is a sequence of header field values as might be returned by Message.get_all(). Here’s a simple example that gets all the recipients of a message:
from email.utils import getaddresses tos = msg.get_all('to', []) ccs = msg.get_all('cc', []) resent_tos = msg.get_all('resent-to', []) resent_ccs = msg.get_all('resent-cc', []) all_recipients = getaddresses(tos + ccs + resent_tos + resent_ccs)
Returns a date string as per RFC 2822, e.g.:
2001年11月09日 01:08:47 -0000
Optional timeval if given is a floating point time value as accepted by time.gmtime() and time.localtime(), otherwise the current time is used.
Optional localtime is a flag that when True, interprets timeval, and returns a date relative to the local timezone instead of UTC, properly taking daylight savings time into account. The default is False meaning UTC is used.
Optional usegmt is a flag that when True, outputs a date string with the timezone as an ascii string GMT, rather than a numeric -0000. This is needed for some protocols (such as HTTP). This only applies when localtime is False. The default is False.
New in version 2.4.
When a header parameter is encoded in RFC 2231 format, Message.get_param() may return a 3-tuple containing the character set, language, and value. collapse_rfc2231_value() turns this into a unicode string. Optional errors is passed to the errors argument of the built-in unicode() function; it defaults to replace. Optional fallback_charset specifies the character set to use if the one in the RFC 2231 header is not known by Python; it defaults to us-ascii.
For convenience, if the value passed to collapse_rfc2231_value() is not a tuple, it should be a string and it is returned unquoted.
Changed in version 2.4: The dump_address_pair() function has been removed; use formataddr() instead.
Changed in version 2.4: The decode() function has been removed; use the Header.decode_header() method instead.
Changed in version 2.4: The encode() function has been removed; use the Header.encode() method instead.
Footnotes
18.1.8. email: Exception and Defect classes
Enter search terms or a module, class or function name.