Google App Engineの中に入ってくる電子メールアドレスの送信者を確認する方法?
-
12-09-2019 - |
質問
私はGoogle App EngineのPythonのSDKの中に頻繁に電子メールベースのアプリケーションを作成しようとしています。私はGoogleのは、あなたがそのAPI 経由で電子メールを受信できるようにすることに気付きましたA>、それは簡単に私がメールアドレスは、それが(種類の方法でから来た人から来ていることを確認しようとしている場合は、しかしから、ボディ、へ、などのような標準的なフィールドへのアクセスを提供していますPosterousがあなたのためにそれをしないこと)、どのように私はできますか?私は、電子メールのヘッダのいずれかへのアクセスを持っていないので、私は送信サーバーのIPアドレスまたはそのような凝ったのMXレコードを確認することができません。
任意のアイデア?
解決
実際には、十分に文書化されていないが、ソースは、ここでは、より便利なオブジェクトの元のMIMEメッセージことを示唆しているあなたは、成形され得る便利なオブジェクトの.original
プロパティとして利用可能である - それは<のhref = "http://docs.python.org/library/email.message.html?highlight=email.message#emailのインスタンスです.message.Message」のrel = 『nofollowをnoreferrer』> email.message.Message を、あなたはそこから電子メールのヘッダを取得することができるはずですので。でも、私は、検証のためにあなたの探求に更に多くのあなたを取ることはよく分からない。
他のヒント
Eメールを使用すると、PGPやS / MIMEでそれに署名しない限り、一般的にverifyableメディアではありません。あなたは、ヘッダーを持っていない場合は、確認するために何かを持っていない。
あなたがすることができる唯一のことは、電子メールアドレスであり、彼らが実際にメッセージを送ったことを確認するために、担当者に確認してください。それは偽物(しかし、不可能ではない)への詐欺の電子メール送信者のために多くの困難です。
それとも、おそらくすべてのメッセージにパスワードを入れて、ユーザーを求めることができる。
アレックスは、ヘッダーへのアクセスについての権利であるが、これは電子メールの実際の送信者を確認することはできません。誰もが、彼らが望むアドレス「から」いずれかに電子メールを送信することができ、そのアドレスからに依存しませんそれを送った人のように権威証明ます。
、そして、なぜあなたは(おそらくに(ユニーク&時間結合キーで、継続的な登録または何のために行くために例えばURL)「挑戦」を返送しないでください)創始?メールアドレスが偽造されていない場合、この方法は、あなたが確認することができます。
「大物」(例えばGoogleは)理由がなければならない、このプロセスをたくさん使用します。
それはあなたのユースケースに適合しない場合は私の提案を無視します。
<時間>の の更新:あなたのGAEアプリケーションに到達する前に(決定する)別のWebサービスを介して電子メールのトランジットを持っているだろうか?この方法で、あなたはまだ、このようなどこか他に行って、メールの確認などの低処理オーバーヘッドジョブを持つ一方でGAEを利用することができるか。
あなたはDKIMを使用してのみ、送信者を確認することができます。 GAEは、自動的にGoogleがDKIMで電子メールアカウントに署名ができますが、DNSを照会し、あなたのtxt DNSフィールドを提供するために、(HTTP / HTTPSを介してアクセスする必要があり)外部サービスを必要とします。