Question

Je suis en train d'écrire une application fortement par messagerie électronique dans le SDK Python de Google App Engine. J'ai remarqué que Google vous permet de recevoir par e-mail son API , et qu'il vous donne accès facilement aux champs standards comme From, To, du corps, etc. Cependant, si je suis en train de vérifier qu'une adresse e-mail est venu de qui il a dit qu'il venait de (sorte de la manière que Posterous fait pour vous), comment puis-je? Je n'ai pas accès à l'un des en-têtes de courrier électronique, donc je ne peux pas vérifier l'enregistrement MX de l'adresse IP du serveur d'envoi ou de quoi que ce soit de fantaisie comme ça.

Toutes les idées?

Était-ce utile?

La solution

En fait, sans bien documenté, les sources ici suggère que le message mime original à partir duquel les objets à portée de main vous obtenez sont mis en forme est disponible en tant que la propriété .original de l'objet à portée de main - c'est une instance de

Autres conseils

E-mail ne sont généralement pas un moyen verifyable, à moins que vous signez avec PGP ou S / MIME. Si vous ne disposez pas des en-têtes, vous n'avez rien à vérifier.

La seule chose que vous pouvez faire est e-mail l'adresse et demandez à la personne de confirmer qu'ils ont vraiment envoyé le message. C'est beaucoup plus difficile pour l'expéditeur de l'e-mail frauduleux à faux (mais pas impossible).

Ou vous pourriez peut-être demander à l'utilisateur de mettre un mot de passe dans chaque message.

Alex est juste sur l'accès aux en-têtes, mais cela ne vous permet pas de vérifier l'expéditeur réel de l'e-mail: tout le monde peut envoyer un email avec une adresse « de » ils le souhaitent, il ne faut pas compter sur l'adresse de la preuve comme faisant autorité de qui l'a envoyé.

Si cela fait partie d'un processus d'inscription ou aussi bien, alors pourquoi ne pas renvoyer un « défi » (par exemple, l'URL d'aller pour poursuivre l'enregistrement ou autre, avec une clé unique et le temps) à la (soi-disant ) donneur d'ordre? De cette façon, vous pouvez vérifier si l'adresse e-mail n'est pas forgé.

Les « grands » (par exemple Google) utilisent ce processus beaucoup, il doit y avoir une raison.

Mépris ma suggestion si cela ne correspond pas à votre cas d'utilisation.


Mise à jour : vous pourriez avoir le transit des e-mails via un autre service Web (à déterminer) avant d'atteindre votre application GAE? De cette façon, vous pouvez encore tirer parti de GAE tout en ayant un emploi à faible consommation des ressources telles que la vérification du courrier électronique fait ailleurs?

Vous pouvez vérifier l'expéditeur uniquement à l'aide DKIM. GAE signe automatiquement les e-mails comptes Google avec DKIM, mais vous avez besoin d'un service externe (qui devrait être accessible via http / https) pour interroger le DNS et vous fournir les champs DNS txt.

scroll top