【发布时间】: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