使用 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" 值会导致错误。当我删除这些时,我摆脱了错误消息。
如果你的Cc
和Bcc
也为空,则不需要附加到email[]
考虑这段代码摘录:
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" 值会导致错误。当我删除这些时,我摆脱了错误消息。
如果你的Cc
和Bcc
也为空,则不需要附加到email[]