Cómo verificar el remitente de la dirección de correo electrónico entrante en Google App Engine?

StackOverflow https://stackoverflow.com/questions/1840858

Pregunta

Estoy tratando de escribir una aplicación de correo electrónico basado en gran medida en el SDK de Python de Google App Engine. Me he dado cuenta que Google le permite recibir correo electrónico a través de su API , y que fácilmente se le da acceso a los campos estándar como de, a, cuerpo, etc. Sin embargo, si yo estoy tratando de verificar que una dirección de correo electrónico proviene de que se dijo que era (un poco en el camino Posterous que lo hace por usted), ¿cómo puedo hacerlo? No tengo acceso a cualquiera de los encabezados de correo electrónico, por lo que no puedo comprobar el registro MX de la dirección IP del servidor de envío o cualquier cosa de lujo así.

¿Alguna idea?

¿Fue útil?

Solución

En realidad, mientras que no está bien documentado, las fuentes aquí sugieren que el mensaje MIME original de la cual los objetos prácticos te tienen forma está disponible como la propiedad del objeto .original útil - que es una instancia de email.message.Message , por lo que debe ser capaz de obtener los encabezados de correo electrónico desde allí. No estoy seguro de que te lleva mucho más lejos en su búsqueda de la validación, sin embargo.

Otros consejos

El correo electrónico no es generalmente un medio verificable, a menos que firme con PGP o S / MIME. Si usted no tiene los encabezados, no tienes nada de verificar.

La única cosa que puede hacer es el correo electrónico la dirección y pedir a la persona para confirmar que realmente envió el mensaje. Eso es mucho más difícil para el remitente del correo electrónico fraudulento a falso (pero no imposible).

O usted podría pedir al usuario que poner una contraseña en cada mensaje.

Alex tiene razón sobre el acceso a las cabeceras, pero esto no le permite verificar el remitente real del correo electrónico: cualquier persona puede enviar un correo electrónico con cualquier dirección 'De' lo desean, por lo que no se basan en la dirección de como prueba fidedigna de quién lo envió.

Si esto es parte de un proceso de registro o similar, entonces ¿por qué no se envía de vuelta un "desafío" (por ejemplo, el URL para ir para el registro continuo o lo que sea, con un único y de duración determinada clave) supuestamente a la ( ) originador? De esta manera se puede verificar si la dirección de correo electrónico no se forja.

Los "grandes" (por ejemplo, Google) utilizan este proceso mucho más, tiene que haber una razón.

La indiferencia mi sugerencia de que si no encaja en el caso de uso.


Actualización : usted podría tener el tránsito de mensajes de correo electrónico a través de otro servicio Web (por determinar) antes de llegar a su aplicación GAE? De esta manera, se podría aprovechar aún GAE, mientras que tener un trabajo de baja sobrecarga de procesamiento, tales como la verificación de correo electrónico hecho en otro lugar?

Puede verificar el remitente sólo con DKIM. GAE firma automáticamente el Google cuentas de correo electrónico con DKIM pero se necesita un servicio externo (que se debe acceder a través de HTTP / HTTPS) para consultar el DNS y brindarle los campos TXT de DNS.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top