Frage

Ich versuche, eine stark E-Mail-basierte Anwendung in dem Python-SDK von Google App Engine zu schreiben. Ich habe bemerkt, dass Google ermöglicht es Ihnen, E-Mail über seine API erhalten , und dass es leicht können Sie auf die Standardfelder zugreifen wie von, an, Körper, etc. jedoch wenn ich aus, um zu überprüfen, dass ich versucht, eine E-Mail-Adresse kam, der es sagte, es kam (Art in der Art und Weise dass Posterous es für Sie tut), wie kann ich das? Ich habe keinen Zugriff auf die E-Mail-Header, also kann ich nicht den MX-Eintrag des sendende Server die IP-Adresse oder etwas Phantasie wie das überprüfen.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Eigentlich, obwohl sie nicht gut dokumentiert, die Quellen hier lassen vermuten, dass die ursprüngliche MIME-Nachricht aus dem die handliche Objekte Sie geformt, werden als die .original Eigenschaft des handy-Objekt zur Verfügung steht - das ist eine Instanz von email.message.Message , so sollten Sie in der Lage sein, um E-Mail-Header von dort zu bekommen. Ich bin nicht sicher, dass Sie viel weiter auf der Suche nach Validierung nimmt, though.

Andere Tipps

E-Mail ist nicht generell ein verifyable Medium, wenn Sie es mit PGP oder S / MIME signieren. Wenn Sie keine Header haben, haben Sie nicht bekommen, etwas zu überprüfen.

Das einzige, was Sie tun können, ist E-Mail-Adresse und fragen Sie die Person, um zu bestätigen, dass sie wirklich die Nachricht gesendet hat. Das ist viel schwieriger für den betrügerischen E-Mail-Absender zu fälschen (aber nicht unmöglich).

Oder Sie könnten möglicherweise den Benutzer auffordern, ein Passwort in jeder Nachricht zu setzen.

Alex ist direkt über die Header zugreifen, aber Sie den tatsächlichen Absender der E-Mail, um sicherzustellen, ist es nicht möglich: Wer eine E-Mail mit irgend ‚von‘ Adresse senden können sie dies wünschen, so verlassen Sie sich nicht auf die von der Adresse als autoritativen Beweis für die es gesendet wird.

Wenn dieser Teil eines Registrierungsprozesses oder gleich ist, dann warum Sie nicht über eine „Herausforderung“ (zB URL für die Fortsetzung Registrierung zu gehen oder was auch immer, mit einem einzigartigen und zeitgebundenen Schlüssel) zurückschicken, um die (angeblich ) Urheber? Auf diese Weise können Sie überprüfen, ob die E-Mail-Adresse nicht gefälscht ist.

Die „großen Jungs“ (zum Beispiel Google) In diesem Prozess viel, muss es einen Grund geben.

Disregard mein Vorschlag wenn das nicht Ihr Anwendungsfall passt.


Aktualisiert : Sie können die E-Mails der Durchfuhr durch einen anderen Web-Service haben könnten (zu bestimmen) vor Ihrer GAE Anwendung zu erreichen? Auf diese Weise kann man noch GAE nutzen, während einen niedrigen Verarbeitungsaufwand Job mit wie E-Mail-Überprüfung irgendwo anders gemacht?

Sie können den Absender überprüfen nur DKIM verwenden. GAE unterzeichnet automatisch die Google-E-Mails mit DKIM-Konten, aber Sie müssen einen externen Service (die über http / https zugegriffen werden soll), um die DNS abzufragen und Sie die txt DNS Felder liefern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top