【问题标题】:Google App Engine Python python email not workingGoogle App Engine Python python电子邮件不起作用
【发布时间】:2016-07-31 01:56:59
【问题描述】:

我的应用程序运行正常将近一年了,但突然无法发送电子邮件。没有出现异常,一切似乎都很好,但是邮件没有送达 我检查了整个邮箱、垃圾邮件文件夹和所有内容。这是发送代码:

mail.send_mail(sender="nikola825@gmail.com",  #this is my email, I am the admin
               to=email,
               subject="Account verification",
               body=emailContentsTXT)

调用成功返回,不抛出异常。当我尝试发送电子邮件时,配额仪表板中的已发送电子邮件数量会增加。

【问题讨论】:

    标签: python email google-app-engine


    【解决方案1】:

    Hacker News 上有一个thread 与此相关。显然,Google 的反垃圾邮件措施一直在默默地删除从 AppEngine 发送的电子邮件。

    一位 Google 工程师表示,他们会根据具体情况与人们合作,因此如果您遇到问题,您可能应该联系他们的支持人员。

    【讨论】:

      【解决方案2】:

      配额中没有错误和已发送电子邮件的增加表明消息发送工作正常。

      确定邮件未到达目的地的唯一方法是检查退回的电子邮件。你的应用需要configured to receive and handle the bounced emails:

      配置您的应用以接收退回的电子邮件通知:

      1.将以下内容添加到您的 app.yaml 文件以启用通知:

      inbound_services:
      - mail_bounce
      

      2.同样在app.yaml中,在你的代码中声明/_ah/bounce和退回通知处理程序之间的映射,例如:

      - url: /_ah/bounce
        script: handle_bounced_email.app
        login: admin
      

      上述文档还包含可能退回的消息处理程序的示例。

      更新:在 OP 观察到该问题似乎是由电子邮件中的 URL(到 appspot.com 域)引起后,我注意到 this GAE issue(仍然打开并且最近有活动)看起来完美匹配。

      【讨论】:

      • 我已设置退回处理程序,但没有收到任何退回通知。日志中没有对“/_ah/bounce”的请求。我曾尝试向多个不同的地址发送电子邮件,但都无法全部退回。
      • 有时退回的邮件可能会在数小时甚至数天后出现,具体取决于退回的原因 - 通常是在邮件传递系统的自动重试达到特定重试限制之后。
      • 我刚刚发现包含appspot.com 链接的电子邮件由于某种原因未发送。这是一封验证电子邮件,因此它包含指向我的网站的链接。如果我删除链接,电子邮件将正常发送和传递。
      • 不错的收获!现在更集中的问题。您仍然需要收到退回的邮件才能清楚地了解电子邮件被丢弃的位置。除非它被“悄悄地”丢弃,否则可能很难找到。
      • 如果有人感兴趣,我已经向 App Engine 团队发送了投诉,他们在几天后解决了问题,现在电子邮件可以正常工作了。
      猜你喜欢
      • 2016-12-04
      • 1970-01-01
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 2018-08-02
      • 2010-10-27
      • 1970-01-01
      相关资源
      最近更新 更多