2010-06-30 3 views
3

когда-то из-за неправильного ввода с пользовательской стороны, отскакивания почты и не достигли получателя. (отправлено с помощью движка Google.)Как обнаружить отскок почты в Google App Engine?

Как обнаружить такое электронное письмо?

редактировать: может быть я не ясно, на мой вопрос:

Я хочу знать, какой почтовый я послал письмо, которое было возвращение (так что я может предупредить пользователя или удалить электронный идентификатор) , это больше связано с тем, как работает откат электронной почты. как правило, отсканированная почта не приходит точно так же, как отправлено, но с разной информацией, есть ли какой-либо конкретный заголовок или что-то там, чтобы узнать, какой именно адрес электронной почты был? ... я думаю, что у меня есть соображение при написании этих вопросов, я сохраняю этот вопрос, чтобы он мог помочь кому-то.

Я просто отправлю письмо с базы[email protected] и создаю почтовый обработчик приема. :)

так еще один вопрос: какая максимальная длина делает приложение-движок (или любой почтовый сервер) позволяет использовать адрес электронной почты?

ответ

0

Проще всего кодировать адрес электронной почты с помощью base64 или кодировки simiar и префикс его с адреса.

Весь адрес от [email protected] является действительным адресом электронной почты для из в gae.

просто создайте обработчик приема почты. декодировать строку из строки и получить адрес электронной почты, которому вы отправляете электронное письмо изначально.

грустно вещь максимальный 64 знак длина разрешено для местного разряда. в этом случае сохранение адреса электронной почты в хранилище данных и использование его ключа в качестве локальной части для отправки по электронной почте может быть вариантом.

1

Для этого адреса используйте один из адресов вашего приложения как адрес ([email protected]) и register a handler. Затем вы можете перехватывать и интерпретировать любые ответы (автоматические или другие).

+0

Возможно, я не был ясен в своем вопросе, я изменил его, спасибо за ваш ответ. – iamgopal

2

К сожалению, это невозможно.

GAE автоматически добавляет заголовок «Return-Path» в ваше сообщение электронной почты. Отклоненные сообщения будут отправляться по адресу, указанному в этом заголовке. Вы не можете изменить значение этого заголовка.

Для получения более подробной информации см. http://code.google.com/p/googleappengine/issues/detail?id=1800.

+0

Да, заметил и посмотрел на него. – iamgopal

3

Google фактически с момента добавления a method for receiving bounced messages через HTTP-запрос. Это требует добавления к вашему app.yaml:

inbound_services: 
- mail_bounce 

Что вызовет запрос ударить /_ah/bounce каждый раз, когда сильный удар получил. Затем вы можете обработать отказы, добавив для него обработчик. См. Раздел there об обработке уведомлений об отказе для получения дополнительной информации о том, как получить дополнительную информацию от этих запросов.