Как проверить отправителя входящего адреса электронной почты в Google App Engine? - PullRequest
3 голосов
/ 03 декабря 2009

Я пытаюсь написать приложение, основанное на электронной почте, в Python SDK Google App Engine. Я заметил, что Google позволяет вам получать электронную почту через API , и что он легко дает вам доступ к стандартным полям, таким как От, До, Тело и т. Д. Однако, если я пытаюсь проверить что адрес электронной почты пришел от того, от кого он сказал (откуда-то, как это делает Posterous для вас), как я могу? У меня нет доступа ни к одному из заголовков электронной почты, поэтому я не могу проверить запись MX IP-адреса отправляющего сервера или что-либо подобное.

Есть идеи?

Ответы [ 5 ]

2 голосов
/ 03 декабря 2009

На самом деле, хотя и недостаточно хорошо задокументировано, источники здесь предполагают, что исходное сообщение mime, из которого формируются полезные объекты, доступно как свойство .original удобного объекта - это экземпляр email.message.Message , поэтому вы сможете получать оттуда заголовки писем. Однако я не уверен, что это продвинет вас в поисках подтверждения.

1 голос
/ 04 декабря 2009

Алекс прав в отношении доступа к заголовкам, но это не позволяет вам проверить фактического отправителя электронного письма: любой может отправить электронное письмо с любым адресом «от», который пожелает, поэтому не полагайтесь на адрес «от» как авторитетное доказательство того, кто его отправил.

1 голос
/ 03 декабря 2009

Электронная почта, как правило, не поддается проверке, если вы не подпишите ее с помощью PGP или S / MIME. Если у вас нет заголовков, вам нечего проверять.

Единственное, что вы можете сделать, это отправить по электронной почте адрес и попросить человека подтвердить, что он действительно отправил сообщение. Мошенническому отправителю электронной почты намного сложнее подделать (но не невозможно).

Или вы можете попросить пользователя ввести пароль в каждое сообщение.

0 голосов
/ 18 августа 2012

Вы можете проверить отправителя только с помощью DKIM. GAE автоматически подписывает электронные письма учетных записей Google с помощью DKIM, но вам нужна внешняя служба (к которой нужно обращаться через http / https), чтобы запросить DNS и предоставить вам поля txt DNS.

0 голосов
/ 03 декабря 2009

Если это часть процесса регистрации или чего-то подобного, то почему бы вам не отправить обратно «вызов» (например, URL-адрес для продолжения регистрации или что-то еще, с уникальным и привязанным по времени ключом) к (предположительно ) оригинатор? Таким образом, вы можете проверить, не является ли адрес электронной почты поддельным.

"Большие парни" (например, Google) часто используют этот процесс, должна быть причина.

Не обращайте внимания на мое предложение, если оно не соответствует вашему варианту использования.


Обновлено : вы могли бы пересылать электронные письма через другую веб-службу (подлежит определению) до достижения вашего приложения GAE? Таким образом, вы все еще можете использовать GAE, имея низкую нагрузку на обработку, такую ​​как проверка электронной почты, выполненная где-то еще?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...