【问题标题】:Trying to send email to Google through in Python, email being denied尝试通过 Python 向 Google 发送电子邮件,电子邮件被拒绝
【发布时间】:2014-09-20 02:04:22
【问题描述】:

当我使用 SMTP 通过 Python 发送电子邮件时遇到一个奇怪的错误。

我在 GoDaddy 收件箱中收到一封来自 Mail Delivery System 的电子邮件,其中包含以下错误:

[返回码 550] sid: Xtpe1o00e3l0Tyx01 :: 5.7.1 更多信息。 ye4si18523263pbb.103 - gsmtp

作为参考,脚本如下所示:

import smtplib
server = smtplib.SMTP_SSL('smtpout.secureserver.net', 465)

print("Logging in: ")
server.login("username", "password")

subject = "This is a test email!"
msg = "Sample email message"
text = 'Subject: %s\n\n%s' % (subject, msg)
fromaddr = "fromemail"
toaddr = "toemail"
print("Sending email...")
server.sendmail(fromaddr, toaddr, text)
server.quit()

但我认为我的错误与代码无关,而是与 Google 阻止了电子邮件有关。

【问题讨论】:

  • 错误消息应该有一个指向特定错误的链接,例如support.google.com/mail/answer/6596。即使该链接没有为您回答问题,也没有人可以在不知道您获得哪个特定 550 的情况下解决您的问题。
  • 顺便说一句,这就是为什么您应该始终复制和粘贴完整的错误消息而不仅仅是 sn-p 或描述的原因;如果您甚至不知道如何开始调试问题,那么您可能不知道错误消息的哪一部分是有用的。
  • 错误邮件是否附有原始邮件?如果是这样,请检查该电子邮件并确认其具有“收件人:”、“发件人:”、“日期:”和“邮件 ID:”标头。
  • @abarnert 我发布的是我收到的整个错误消息。
  • @Robᵩ 有趣的是,电子邮件已附加,“收件人:”和“发件人:”字段均为空白。

标签: python email smtp gmail


【解决方案1】:

警告:来自不完整数据的疯狂猜测

您的电子邮件作为垃圾邮件被拒绝。确保您的电子邮件符合 RFC2822。引用the standard:

唯一需要的标题字段是起始日期字段和 发起者地址字段。

在您的情况下,至少在您的外发电子邮件中添加 From:To:

text = 'From: %s\nTo: %s\nSubject: %s\n\n%s' % (fromaddr, toaddr, subject, msg)

并确认 smtplib 自动添加 Date: 字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 2021-04-18
    • 2016-08-29
    相关资源
    最近更新 更多