我正在尝试使用Google App Engine的Python SDK编写一个主要基于电子邮件的应用程序。我注意到Google 允许您通过其API接收电子邮件, 并且它很容易为您提供标准字段,如发件人、收件人、正文等。然而,如果我想验证电子邮件地址是否来自所说的发送者(类似Posterous为您执行的操作),我该怎么办?我无法访问任何电子邮件头,因此无法检查发送服务器的IP地址的MX记录或其他高级内容。有什么想法吗?
实际上,虽然没有很好的文档记录,但这里的来源表明,形成方便的对象的原始mime消息可作为方便对象的.original
属性获得——那是email.message.Message的实例,因此您应该能够从那里获取电子邮件标题。不过,我不确定这是否能让您在验证方面有所进展。
更新:您可以让电子邮件在到达您的GAE应用程序之前通过另一个Web服务(待确定)进行中转吗?这样,您仍然可以利用GAE,同时将低处理开销的工作(例如电子邮件验证)放在其他地方完成。
您只能使用DKIM验证发件人。GAE会自动使用DKIM对Google账户的电子邮件进行签名,但您需要一个外部服务(应通过http/https访问)来查询DNS并为您提供txt DNS字段。