email.utils
:杂项实用程序
¶
There are several useful utilities provided in the
email.utils
模块:
email.utils.
quote
(
str
)
¶
Return a new string with backslashes in str replaced by two backslashes, and double quotes replaced by backslash-double quote.
email.utils.
unquote
(
str
)
¶
返回新的字符串,其是 unquoted 版本的 str 。若 str ends and begins with double quotes, they are stripped off. Likewise if str ends and begins with angle brackets, they are stripped off.
email.utils.
parseaddr
(
address
)
¶
Parse address – which should be the value of some address-containing field such as
到
or
Cc
– into its constituent
realname
and
email address
parts. Returns a tuple of that information, unless the parse fails, in which case a 2-tuple of
('', '')
被返回。
email.utils.
formataddr
(
pair
)
¶
逆
parseaddr()
, this takes a 2-tuple of the form
(realname,
email_address)
and returns the string value suitable for a
到
or
Cc
header. If the first element of
pair
is false, then the second element is returned unmodified.
email.utils.
getaddresses
(
fieldvalues
)
¶
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)
email.utils.
parsedate
(
date
)
¶
Attempts to parse a date according to the rules in
RFC 2822
. however, some mailers don’t follow that format as specified, so
parsedate()
tries to guess correctly in such cases.
date
is a string containing an
RFC 2822
date, such as
"Mon, 20 Nov 1995 19:12:08 -0500"
. If it succeeds in parsing the date,
parsedate()
returns a 9-tuple that can be passed directly to
time.mktime()
;否则
None
will be returned. Note that indexes 6, 7, and 8 of the result tuple are not usable.
email.utils.
parsedate_tz
(
date
)
¶
Performs the same function as
parsedate()
, but returns either
None
or a 10-tuple; the first 9 elements make up a tuple that can be passed directly to
time.mktime()
, and the tenth is the offset of the date’s timezone from UTC (which is the official term for Greenwich Mean Time)
1
. If the input string has no timezone, the last element of the tuple returned is
None
. Note that indexes 6, 7, and 8 of the result tuple are not usable.
email.utils.
mktime_tz
(
tuple
)
¶
Turn a 10-tuple as returned by
parsedate_tz()
into a UTC timestamp (seconds since the Epoch). If the timezone item in the tuple is
None
, assume local time.
email.utils.
formatdate
(
[timeval[, localtime][, usegmt]]
)
¶
返回日期字符串按每 RFC 2822 ,如:
Fri, 09 Nov 2001 01:08:47 -0000
可选
timeval
if given is a floating point time value as accepted by
time.gmtime()
and
time.localtime()
,否则使用当前时间。
可选
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.
可选
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
。默认为
False
.
2.4 版新增。
email.utils.
make_msgid
(
[
idstring
]
)
¶
Returns a string suitable for an RFC 2822 -compliant Message-ID header. Optional idstring if given, is a string used to strengthen the uniqueness of the message id.
email.utils.
encode_rfc2231
(
s
[
,
charset
[
,
语言
]
]
)
¶
编码字符串 s 根据 RFC 2231 。可选 charset and 语言 , if given is the character set name and language name to use. If neither is given, s is returned as-is. If charset is given but 语言 is not, the string is encoded using the empty string for 语言 .
email.utils.
collapse_rfc2231_value
(
值
[
,
errors
[
,
fallback_charset
]
]
)
¶
当编码头参数按
RFC 2231
格式,
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
被传递给
errors
argument of the built-in
unicode()
function; it defaults to
replace
。可选
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
.
为方便起见,若
value
passed to
collapse_rfc2231_value()
is not a tuple, it should be a string and it is returned unquoted.
email.utils.
decode_params
(
params
)
¶
Decode parameters list according to
RFC 2231
.
params
is a sequence of 2-tuples containing elements of the form
(content-type, string-value)
.
2.4 版改变:
The
dump_address_pair()
function has been removed; use
formataddr()
代替。
2.4 版改变:
The
decode()
function has been removed; use the
Header.decode_header
method instead.
2.4 版改变:
The
encode()
function has been removed; use the
Header.encode
method instead.
脚注