如何以编程方式识别欺骗性电子邮件?

How to recognize spoofed email programmatically?

我正在使用 nodejs 库(inbox 来自 npm 的库)每分钟检查我的 IMAP 帐户。如果我找到电子邮件,我会处理它并在我的数据库中用它做很多事情。我目前面临的问题是如何识别我收到的 IMAP 服务器的电子邮件是否真的来自电子邮件所有者并且没有被欺骗?如何在 nodejs 中以编程方式检查它?使用任何算法或库,或者只是检查电子邮件的 headers?

提前致谢!

您的邮箱提供商应该进行 SPF 检查并将结果包含在 header 的某处。您可以在那里检索信息 "spoofed, not spoofed, undetermined"。 header 的调用方式可能因不同的服务器软件而异。在我的 header(通过在线交换完成)中,它包含 Authentication-Results: spf=pass (sender IP is XXX.XXX.XXX.XXX)

顺便说一句。 SPF 仅在 "other side" 实施时才有效。所以这不是 100% 的事情。