Email 检测电子邮件的可能来源国

Email 检测电子邮件的可能来源国,email,geolocation,Email,Geolocation,我正在构建一个电子邮件应用程序一个网络应用程序,你几乎完全通过电子邮件与之交互,我希望能够合理地猜测我的用户仅使用他们的电子邮件头的位置。我坚信web服务中的“默认值”应该尽可能智能化 对于如何以合理的准确度从电子邮件中提取用户所在国家的信息,以及如果可能的话,粗略地说明这一点的准确度,我可以不去猜测是否不太可能是正确的,有没有人对现代电子邮件路由(如谷歌、雅虎等超级提供商)有什么好的了解 迄今为止的想法: 时区远不够精确,但很有用 电子邮件域TLD不太可靠,我有一个.com TLD,我是英国人

我正在构建一个电子邮件应用程序一个网络应用程序,你几乎完全通过电子邮件与之交互,我希望能够合理地猜测我的用户仅使用他们的电子邮件头的位置。我坚信web服务中的“默认值”应该尽可能智能化

对于如何以合理的准确度从电子邮件中提取用户所在国家的信息,以及如果可能的话,粗略地说明这一点的准确度,我可以不去猜测是否不太可能是正确的,有没有人对现代电子邮件路由(如谷歌、雅虎等超级提供商)有什么好的了解

迄今为止的想法:

时区远不够精确,但很有用 电子邮件域TLD不太可靠,我有一个.com TLD,我是英国人 电子邮件头中IP的GeoIP不确定这是否有效,哪个头最可靠? 谢谢你的头周期

普通邮件 我曾经写过一篇文章,也是这样做的,它专门使用顶级域来显示每条路线的站点。从中得到的教训是,邮件可能会经过10台或更多服务器,直到到达收件人。您必须使用第一条路线入口:

Received: by mail.cweiske.de (Postfix, from userid 65534)
    id 1DB83119102DA; Sat, 30 Jul 2011 13:58:30 +0200 (CEST)
Received: from fmmailgate02.web.de (fmmailgate02.web.de [217.72.192.227])
    by mail.cweiske.de (Postfix) with ESMTP id D56F6119102D3
    for <me@example.orge>; Sat, 30 Jul 2011 13:58:18 +0200 (CEST)
Received: from smtp03.web.de  ( [172.20.0.65])
    by fmmailgate02.web.de (Postfix) with ESMTP id E54B11A74B6A1
    for <me@example.org>; Sat, 30 Jul 2011 13:57:52 +0200 (CEST)
Received: from [84.185.130.22] (helo=[192.168.178.21])
    by smtp03.web.de with asmtp (WEB.DE 4.110 #2)
    id 1Qn88O-0006jw-00
    for me@example.org; Sat, 30 Jul 2011 13:55:14 +0200
这里的发送者IP完全丢失了,您得到的唯一信息是来自google邮件服务器的IP。时区那里也是服务器的时区,而不是客户端的时区-应该是+02:00

结论 最后,没有信号能给你100%的准确度,你必须使用所有信号。 此外,电子邮件中的每一个细节都可能是伪造的——别忘了这一点。

普通邮件 我曾经写过一篇文章,也是这样做的,它专门使用顶级域来显示每条路线的站点。从中得到的教训是,邮件可能会经过10台或更多服务器,直到到达收件人。您必须使用第一条路线入口:

Received: by mail.cweiske.de (Postfix, from userid 65534)
    id 1DB83119102DA; Sat, 30 Jul 2011 13:58:30 +0200 (CEST)
Received: from fmmailgate02.web.de (fmmailgate02.web.de [217.72.192.227])
    by mail.cweiske.de (Postfix) with ESMTP id D56F6119102D3
    for <me@example.orge>; Sat, 30 Jul 2011 13:58:18 +0200 (CEST)
Received: from smtp03.web.de  ( [172.20.0.65])
    by fmmailgate02.web.de (Postfix) with ESMTP id E54B11A74B6A1
    for <me@example.org>; Sat, 30 Jul 2011 13:57:52 +0200 (CEST)
Received: from [84.185.130.22] (helo=[192.168.178.21])
    by smtp03.web.de with asmtp (WEB.DE 4.110 #2)
    id 1Qn88O-0006jw-00
    for me@example.org; Sat, 30 Jul 2011 13:55:14 +0200
这里的发送者IP完全丢失了,您得到的唯一信息是来自google邮件服务器的IP。时区那里也是服务器的时区,而不是客户端的时区-应该是+02:00

结论 最后,没有信号能给你100%的准确度,你必须使用所有信号。
此外,电子邮件中的每一位都可能是伪造的-别忘了这一点。

另一种选择是向他们发送一封确认/验证电子邮件,其中包含从远程服务器加载的带有特殊标识符的HTML图像。如果用户启用了HTML邮件,则他们将下载图像,从而将适当的信息(例如,他们的IP)发送到您的服务器,供您进行地理查找


或者,如果您的服务器无法正确确定其原产国,您可以要求他们单击辅助服务器中的确认链接。

另一种选择是向他们发送确认/验证电子邮件,其中包含从您的远程服务器加载的带有特殊标识符的HTML图像。如果用户启用了HTML邮件,则他们将下载图像,从而将适当的信息(例如,他们的IP)发送到您的服务器,供您进行地理查找


或者,如果您的服务器无法正确确定其原产国,您可以要求他们单击辅助服务器中的确认链接。

回答得非常好!是的,完全有可能所有的东西都是伪造的,这就是为什么我不仅要找到一个原产国,还要找到对结果的信心百分比。我想我需要建立一个垃圾邮件帐户,让来自世界各地的朋友通过尽可能多的服务向他们当前的国家发送电子邮件。你的建议很好,我会随时通知你的!反应很好!是的,完全有可能所有的东西都是伪造的,这就是为什么我不仅要找到一个原产国,还要找到对结果的信心百分比。我想我需要建立一个垃圾邮件帐户,让来自世界各地的朋友通过尽可能多的服务向他们当前的国家发送电子邮件。你的建议很好,我会随时通知你的!
Received: from mail-wy0-f179.google.com (mail-wy0-f179.google.com [74.125.82.179])
    by mail.cweiske.de (Postfix) with ESMTP id A739A11910543
    for <me@example.org>; Wed, 23 Jun 2010 23:05:42 +0200 (CEST)
Received: by wyb38 with SMTP id 38so1740851wyb.24
        for <me@example.org>; Wed, 23 Jun 2010 14:05:42 -0700 (PDT)