使用 Python 的 smtplib returns 发送邮件“501 5.1.3 无效地址”

Sending mail with Python's smtplib returns "501 5.1.3 Invalid address"

考虑这段代码摘录:

import smtplib
from email.message import EmailMessage

body = "some content"

email = EmailMessage()
email.set_content(body, subtype='html')   

to = "you@work.com"
email['From'] = "me@work.com"
email['To'] = to
email['Cc'] = ""
email['Bcc'] = ""
email['Subject'] = "Hello"

smtp_connection = smtplib.SMTP("smtp.work.com", 25)  
status = smtp_connection.send_message(email)
print(str(status))
print(to)

当运行代码时,邮件实际上正确到达了目的地,但是打印语句returns这样:{'': (501, b'5.1.3 Invalid address')}

我在 Internet 上看到过其他带有类似错误消息的帖子,其中收件人地址格式错误导致邮件无法送达,但在我的情况下,电子邮件实际上确实被正确送达了。我还确保最后一个打印语句输出的电子邮件地址实际上是正确的。

任何有关如何进一步调试此问题的意见将不胜感激。

我相信我找到了答案。看起来空 "CC" 和 "BCC" 值会导致错误。当我删除这些时,我摆脱了错误消息。

如果你的CcBcc也为空,则不需要附加到email[]