2013-09-15 6 views
4

Я отправляю электронное письмо с помощью Google App Engine через свой пользовательский домен [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?

+0

Да, это работает для пользовательских доменов, настроенных с учетными записями Google Apps (ну, это требование, чтобы отправлять почту в первую очередь). Единственное отличие, которое я вижу в том, что у нас также есть '' set: https://developers.google.com/appengine/docs/java/mail/bounce –

+0

Вы также можете отправить почту с помощью appspotmail. com, если вы не используете собственный домен. Первоначально у меня был перехват безопасности, но он удалил его, чтобы увидеть, работает ли он без него. Спасибо за комментарий! Приятно слышать, что на самом деле он работает с Java для кого-то !! – Mike

ответ

0

Несколько вещей, чтобы рассмотреть следующие вопросы:

  • не все типы отказов становятся передается в приложение. Легко заметить, если пользователь admin @ получает уведомления об отказе в виде сообщений электронной почты в свой почтовый ящик, но вы видите, что /_ah/bounce никогда не запускался в ваших журналах приложений. Попробуйте отправить почту несуществующему пользователю в вашем домене для целей тестирования.

  • , если вы видите /_ah/bounce, был запущен, но журнал пуст, убедитесь, что ваш WEB-INF/logging.properties определяет соответствующий уровень ведения журнала для сервлета обработки отказов. Не должно быть места для log.severe, но все равно стоит проверить, поскольку в конфигурации протокола GAE по умолчанию ничего не указано ниже ПРЕДУПРЕЖДЕНИЕ, и люди склонны регистрировать материал с серьезностью INFO.

Смежные вопросы