只是为了恭维我的兄弟们早些时候发帖:
不知道您要分析的上下文,并且非常笼统,我建议您的第一个停靠点是 SPF 或 DomainKeys,以限制来自流氓来源的电子邮件被接受的可能性。我还建议仅使用一台具有 SSL 安全性的 SMTP 服务器。我这样做并在世界各地旅行,我很少遇到无法发送邮件的情况,在这种情况下,唯一有效的是网络邮件(没有安全的本地 SMTP)。
除此之外:如果您正在验证邮件确实来自您自己,那么您还可以使用 PGP 工具在发送时对您的邮件进行签名,然后过滤任何没有有效签名的邮件。Thunderbird 中的 Enigmail 是一个很好的自动签名来源,也有适用于 Outlook 的插件。
在那之后,如果你真的想对一封电子邮件做更多的取证工作,那么你可以使用垃圾邮件贝叶斯根据以前的电子邮件数据库对电子邮件进行评分。您将围绕非唯一数据(不包括诸如“To:”之类的条目)建立一个令牌数据库,然后对电子邮件与之前的电子邮件相似的概率进行评分。从理论上讲,您应该为任何邮件获得很高的分数。
显然我不知道你的情况,但我认为有很多技术,但有时更容易找到问题的根源而不是尝试修复它。
更新
根据提供的上下文:
我会考虑使用“地址扩展”,这是您的用户可以将邮件发送到包含使用电子邮件地址的引用的地址:emailname+extension@domain.com GMail 和许多其他服务器支持通过 +extension@ 传递电子邮件到正确的 emailname@domain.com 没有 hi-jinx。您可以让用户发送带有唯一 ID 作为扩展名的邮件,这样您就会知道邮件来自他们并且他们会感觉更特别。显然,有人可以通过嗅探他们发出或收到的邮件来窃取他们的唯一代码,但这总是有可能的,如果有人能做到这一点,他们也可能会注入邮件。
如果你真的只是想沿着分析路线走,那么我建议只使用 SpamAssassin 每用户贝叶斯匹配的反向。您将每封邮件与来自发件人的邮件数据库进行比较(而不是传统的邮件“到”帐户匹配)。请记住,一旦您的数据库被误报污染,您将不得不删除误报或冒着匹配该发件人的完整性的风险。