我运行的是Python 3.8.10,通过email.utils.parseaddr()解析电子邮件头地址,它对大多数地址都有效,但发现一个非常简单的电子邮件头解析错误,在下面的例子中,注意名称是错误的,因为它是由email.utils.parseaddr()返回的电子邮件地址
import email.utils
testHdr = "LastName, FirstName <FirstName.LastName@domain.com>"
print("Header=[" + testHdr + "]")
print(str(email.utils.parseaddr(testHdr)))
输出:
Header=[LastName, FirstName <FirstName.LastName@domain.com>]
('', 'LastName')
这似乎不是一个格式错误的头文件...我做错了什么,或者我使用了错误的API?
1条答案
按热度按时间bsxbgnwa1#
我发现email.utils.parseaddr贬值了。我用BytesHeaderParser重写了代码,它解决了这个问题。