提问人:Kieran_ 提问时间:10/20/2023 最后编辑:Kieran_ 更新时间:10/20/2023 访问量:30
C#:根据域的 SPF 记录验证电子邮件的原始邮件服务器
C# Validating an Email's Originating Mailserver Against A Domain's SPF Record
问:
问题
我正在编写一个小工具,以帮助自己通过检查电子邮件的标题来更轻松地快速评估电子邮件的有效性。该工具不供客户使用或公开发布,仅供我自己使用。
时不时地,我会收到一封可疑的电子邮件,我想做的一件事是检查以确保电子邮件来源的邮件服务器列在假定发件人的 SPF 记录中。
某些电子邮件在“发件人”标头中的电子邮件与“返回路径”标头中的电子邮件不同,或者来自未知邮件服务器。有时,一封电子邮件的“发件人”标题中会有两个电子邮件地址(例如),我想检查原始邮件服务器是否包含在“abc.com”和“xyz.com”域的 SPF 记录中。From: "Jane Doe ([email protected])" <[email protected]>
问题
- 是否有任何库或 API 可以让我自动根据发送域的 SPF 记录检查邮件服务器的 IP 地址,或者我应该简单地递归 SPF 记录的每一层并构建所有批准的邮件服务器 IP 地址列表,然后根据该列表检查发送邮件服务器的 IP 地址, 还是我错过了一些微妙的东西?
到目前为止,我研究了什么
我想我已经好好地寻找了一些已经这样做的东西,但我无法找到任何适合我需求的东西。这个话题可能有点难以搜索,因为通常任何搜索结果都充斥着询问如何设置 SPF 记录的人,或者如何检查他们的 SPF 记录是否正确,而不是希望根据发送域验证邮件服务器的人。
我正在使用 C# 编写该工具,因此任何 C#/WinForms/NuGet 都是理想的,但不是必需的。
我已经开始使用 The ARSoft.Tools.Net 项目手动查找域的 DNS 记录,但很快决定这可能不是解决问题的最佳方法,因为我可能需要递归多层 DNS 记录(例如,如果记录具有“include”域), 并处理边缘情况等。
答: 暂无答案
评论