我正在通过自定义域[email protected]使用Google App Engine发送电子邮件。

我想收到退回通知,但似乎无法正常工作。

我在appengine-web.xml中有以下代码

  <inbound-services>
    <service>channel_presence</service>
    <service>mail_bounce</service>
  </inbound-services>

web.xml包含:
<servlet>
  <servlet-name>bouncehandler</servlet-name>
  <servlet-class>com.codeavengers.BounceHandlerServlet</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>bouncehandler</servlet-name>
  <url-pattern>/_ah/bounce</url-pattern>
</servlet-mapping>

BounceHandlerServlet包含...
@Override
public void doPost(HttpServletRequest req,
                   HttpServletResponse resp)
        throws IOException {
    log.severe("BounceHandler triggered");
}

跳动处理程序未触发!有什么想法可能导致问题吗?
退回处理程序是否可以与自定义域一起使用?还是仅适用于appspotmail.com帐户?

最佳答案

需要考虑的几件事:

  • 并非所有的跳出类型都将传递给应用程序。很容易发现您的admin @用户是否正在将退回通知作为电子邮件发送到其收件箱,但是您看到/_ah/bounce从未在应用程序日志中触发。尝试将邮件发送到您域中不存在的用户以进行测试。
  • (如果您看到/_ah/bounce被触发,但是日志为空),请确保您的WEB-INF/logging.properties定义了用于退回处理servlet的适当日志记录级别。 log.severe应该不是这种情况,但仍然值得检查,因为默认的GAE日志记录配置会忽略WARNING以下的任何内容,并且人们倾向于以INFO严重性来记录日志。
  • 07-27 18:38