【问题标题】:Email from Google App Engine doesn't arrive来自 Google App Engine 的电子邮件未送达
【发布时间】:2016-04-14 15:24:42
【问题描述】:

我一直在我的 GAE 中使用电子邮件发件人 (Java),如此处所述,它工作正常: https://cloud.google.com/appengine/docs/java/mail/usingjavamail

我已将我的项目克隆到第二个应用引擎(不同的品牌等),但发送的电子邮件突然没有到达(是的,我检查了垃圾邮件文件夹:-)

我创建了新的 GAE 并上传了代码,没有对我的电子邮件类进行任何更改。我将发件人电子邮件 (xxx.yyy@gmail.com) 添加到电子邮件 API 授权发件人列表中,他们也是该项目的管理员。我从 java 代码中没有收到任何错误或异常,它说电子邮件已发送正常,但它从未到达。我什至将电子邮件地址更改为随机的,我正确收到了以下异常:

<stderr>: javax.mail.SendFailedException: Send failure (javax.mail.MessagingException: Illegal Arguments (java.lang.IllegalArgumentException: Unauthorized Sender: Unauthorized sender))

代码在一个项目中有效,但在另一个项目中无效。我错过了什么?我需要添加 API 吗?

谢谢。 蒂姆

【问题讨论】:

  • 检查您是否遇到此 GAE 问题:code.google.com/p/googleappengine/issues/detail?id=12786

标签: java google-app-engine


【解决方案1】:

您的发件人电子邮件地址是否符合以下条件:

出于安全考虑,邮件的发件人地址必须是以下地址之一 以下:

  • 当前登录用户的 Gmail 或 Google Apps 帐户
  • anything@appname.appspotmail.com 形式的任何电子邮件地址或 任何东西@appalias.appspotmail.com
  • Cloud Platform Console 中电子邮件 API 授权发件人下列出的任何电子邮件地址

来源:https://cloud.google.com/appengine/docs/python/mail/

根据您的问题:只需检查发件人电子邮件是否在 App Engine > 设置 > 电子邮件 API 授权发件人中

【讨论】:

  • 是的,发送电子邮件适合这些。我将其缩小到消息内容。起初我以为是电子邮件文本的长度。长消息没有通过,但短消息可以。然后我删除了指向我的appspot.com 的链接,它起作用了。基本上,App 引擎和谷歌垃圾邮件过滤器已经被收紧了。你问我太紧了!我可以毫无问题地发送和接收这封电子邮件:“请点击此链接:www.xzy,com”,但如果我将链接更改为“test.appspot.com”,它将永远不会收到:-(
【解决方案2】:

现在可以了!

我在他们的Issue 12786: Emails appear sent - outside world disagrees 的背面向 Google 提出了这个问题 并指出他们的垃圾邮件过滤器有点过于激进。如果垃圾邮件过滤器阻止了应用程序如何将带有链接的电子邮件发送回 xxx.appspot.com。

今天早上再次测试它,它可以工作 感谢 Google(又名 Chris)!

【讨论】:

    猜你喜欢
    • 2010-10-27
    • 2016-12-04
    • 2016-10-27
    • 2014-10-31
    • 2012-04-10
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多