【发布时间】:2019-04-12 06:49:59
【问题描述】:
email.utils.parseaddr 似乎无法处理姓名以 lastname, firstname 格式(电子邮件元数据中常见的格式)列出的情况。
例子:
>>> import email.utils
>>> email.utils.parseaddr('Joe A. Smith <smithja@yahoo.com>') # OK
('Joe A. Smith', 'smithja@yahoo.com')
>>> email.utils.parseaddr('Smith, Joe A. <smithja@yahoo.com>') # Fails
('', 'Smith')
这是故意设计的吗? email 声称遵循 RFC 2822。完整字符串的规范定义为
angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr
但我不清楚什么可以构成“CFWS”。返回类型 ('', 'Smith') 是否符合 RFC?
版本信息:
>>> sys.version_info
sys.version_info(major=3, minor=6, micro=6, releaselevel='final', serial=0)
【问题讨论】: