java - 尽管日志中没有错误,但电子邮件发送在 Google App Engine 上不起作用

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

[我已经在 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/

相关文章:

java - 在 Google App Engine 中保留特殊字符

java - 二维数组空指针异常错误

java - 如何在 JMonkey 引擎库中画一条直线

java - 我们可以在 BasicNameValuePair 中发送数组吗

email - NodeMailer 排队传出电子邮件,但电子邮件从不发送

java - 如何从电子邮件接收附件?

java - 为什么我的 GAE 数据存储查询返回的游标为 null?

java - 无法在 Catalina 上设置 JAVA_HOME

java - 使用java mail api从outlook 2010发送邮件

java - Servlet 过滤器不适用于 AppEngine 手动缩放