我正在尝试在 Google App Engine 的 Python SDK 中编写一个基于电子邮件的应用程序。我注意到谷歌 允许您通过其 API 接收电子邮件, ,并且它可以让您轻松访问标准字段,例如“发件人”、“收件人”、“正文”等。但是,如果我想验证某个电子邮件地址是否来自其声称的来源(有点像 Posterous 为您做的那样),我该怎么办?我无权访问任何电子邮件标头,因此无法检查发送服务器 IP 地址的 MX 记录或任何类似的内容。

有任何想法吗?

有帮助吗?

解决方案

事实上,虽然没有详细记录,但来源 这里 建议您获得的方便物品的形状的原始哑剧消息可以作为 .original 方便对象的属性——这是一个实例 电子邮件.消息.消息, ,所以您应该能够从那里获取电子邮件标题。不过,我不确定这会让您在寻求验证方面走得更远。

其他提示

电子邮件一般不是verifyable介质,除非使用PGP或S / MIME签名。如果你没有头,你没有任何东西来验证。

你能做的唯一的事情是电子邮件地址,并要求该人确认他们真的发来的消息。这对欺诈电子邮件发件人更难很多假(但不是不可能)。

或者你可能要求用户每则消息中把一个密码。

亚历克斯是对有关访问的头,但这并不让你验证电子邮件的实际发件人:任何人都可以与任何“从”,他们希望地址发送一封电子邮件,所以不从地址依赖谁发送它的具有权威性的证明。

如果这是一个注册过程或相似的部分,那么你为什么不发回一个“挑战”(例如,URL去继续注册也好,都具有独特和有时限的键)到(假想)鼻祖?这样,您就可以验证,如果电子邮件地址不伪造的。

“大佬”(例如谷歌)使用此过程有很多,必须有一个原因。

无视我的建议,如果不符合您的使用情况。


更新:你可以有到达您的GAE应用程序之前,通过另一个Web Service的邮件中转(待定)?通过这种方式,你仍然可以利用GAE,同时具有低的处理开销的工作,例如做别的地方的电子邮件验证?

可以仅使用DKIM验证发送者。 GAE自动登录的谷歌帐户的电子邮件与DKIM,但你需要一个外部服务(应通过HTTP / HTTPS访问)来查询DNS,并为您提供TXT DNS域。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top