[我已经在 SO 上查看了与该主题相关的所有问题,但它们似乎都无法解释我所看到的行为]。
我有两个项目 A(3-4 个月大)和 B(0.5 个月大),它们都使用一个公共(public)类在 Google App Engine 上发送电子邮件。这两个项目目前都在免费配额内运行。
当我从项目 A 调用公共(public) Emailer
类时,电子邮件被发送;从 B 调用不会在日志文件中产生任何错误(日志在电子邮件字段中显示正确的信息),但电子邮件永远不会到达收件人地址。我检查了垃圾邮件文件夹/标签,甚至在整个邮箱中搜索了邮件 from:appspotmail.com
(见下文),但什么也没有。
我已经验证,对于发送的每封电子邮件,开发者控制台(位于 console.cloud.google.com/appengine/quotadetails?project=project-b&moduleId=default)上的电子邮件配额会注册另一个收件人,所以显然谷歌代码被正确调用(有问题的电子邮件是用于重置密码的,所以只有收件人)。
我尝试以 admin@mydomain.com
的身份发送(admin@mydomain.com
已添加到 Email API 授权发件人列表应用程序 B 的设置页面)以及 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
设置帐户,当我调用忘记密码 功能时,发生了完全相同的事情(即什么都没有)。 p>将发件人电子邮件更改为
admin@project-name.appspotmail.com
(而不是project-id
)并在异常中收到未经授权的发件人消息。这意味着我尝试过的其他地址已被授权发件人,因为我从未在他们身上看到过这种异常(exception)情况。
最佳答案
解决 App Engine 电子邮件传送问题的最佳方法是发送至 Configure Email Bounce Notification .由于电子邮件是异步传送的,因此任何传送问题都会导致退回给指定的发件人。
关于java - 尽管日志中没有错误,但电子邮件发送在 Google App Engine 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35770293/