【问题标题】:Email sending isn't working on Google App Engine though no errors in logs尽管日志中没有错误,但电子邮件发送无法在 Google App Engine 上运行
【发布时间】:2016-06-16 16:01:42
【问题描述】:

[我在 SO 上查看了与该主题相关的所有问题,但似乎都没有解释我所看到的行为]。

我有两个项目 A(3-4 个月大)和 B(0.5 个月大),它们都使用一个通用类在 Google App Engine 上发送电子邮件。这两个项目目前都在免费配额内运行。

当我从项目 A 调用公共 Emailer 类时,电子邮件被发送;从 B 调用不会在日志文件中产生任何错误(日志在电子邮件字段中显示正确的信息),但电子邮件永远不会到达收件人地址。我检查了垃圾邮件文件夹/标签,甚至在整个邮箱中搜索邮件from:appspotmail.com(见下文),什么也没有。

我已验证,对于发送的每封电子邮件,开发者控制台(位于 console.cloud.google.com/appengine/quotadetails?project=project-b&moduleId=default)上的电子邮件配额都会注册另一个收件人,所以显然谷歌代码被正确调用(有问题的电子邮件用于重置密码,所以只有收件人)。

我尝试以admin@mydomain.com 发送(admin@mydomain.com 已添加到应用 B 设置页面上的Email API 授权发件人列表)和admin@project-b.appspotmail.com 发送,但两者都不起作用。

到目前为止,在项目 A 上,我始终以 admin@project-a.appspotmail.com 发送电子邮件(其中 project-a 是我的 GAE 应用程序的 ID)并且从未遇到过此类问题。

这里发生了什么?我错过了一些其他设置吗?

注意:这可能没有任何意义,但出于完整性考虑:收件人电子邮件地址的格式为myaccount+xyz@gmail.com,而不是更常见的myaccount@gmail.com。但是,从 Gmail 中手动向该地址发送电子邮件是可行的,所以这应该不是问题。

更新 1

根据此处的建议以及自发布此问题以来我尝试过的事情,以下是一些更新:

  • 我按照建议设置了电子邮件退回处理程序,但尚未调用它(根据日志)。

    也许它会在等待 24-48 小时后被调用。让我们看看。

  • 使用电子邮件 simplename@gmail.com 设置帐户,当我调用 忘记密码 功能时,发生了完全相同的事情(即,什么都没有)。

  • 将发件人电子邮件更改为admin@project-name.appspotmail.com(而不是project-id)并在异常中收到未经授权的发件人消息。

    这意味着我尝试过的其他地址已被授权发件人,因为我从未见过他们有此异常。

【问题讨论】:

  • 您是否已将应用配置为接收退回的电子邮件? cloud.google.com/appengine/docs/java/mail/bounce
  • 为了完整性:如果您尝试向没有myaccount+xyz@gmail.com 表单的帐户发送电子邮件会发生什么?
  • @marianosimone 我为 simplename@gmail.com 创建了一个帐户,并为此调用了 忘记密码 功能。没什么区别。
  • 你能检查一下消息正文是否包含链接(到应用程序的appspot.com 域)吗?

标签: java email google-app-engine html-email


【解决方案1】:

解决 App Engine 电子邮件传递问题的最佳方法是发送至 Configure Email Bounce Notification。由于电子邮件是异步发送的,因此任何发送问题都会导致退回到指定的发件人。

【讨论】:

  • 这没有产生任何结果。没有注意到日志中的任何内容。似乎电子邮件没有退回,但也没有送达……
猜你喜欢
  • 1970-01-01
  • 2010-10-27
  • 2011-04-05
  • 1970-01-01
  • 2012-07-08
  • 2012-03-24
  • 2015-11-08
  • 2016-12-04
  • 2012-04-10
相关资源
最近更新 更多