我正在运行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?
我发现email.utils.parseaddr贬值了。我用BytesHeaderParser重写了代码,它解决了这个问题。