注册并使用用户的电子邮件域
本文关键字:电子邮件 用户 注册 | 更新日期: 2023-09-27 18:31:21
在我当前的应用程序中,我想添加一个新功能,客户将能够注册自己的电子邮件域服务器(如果有的话)。目前,我正在使用自己的应用程序域发送所有电子邮件。
我想知道我们如何使用WebApi和C#ASP.NET 用户将允许验证和注册自己的电子邮件域而不是使用默认的电子邮件域来实现这一点。
我们需要用户的DKIM和SPF记录吗?
如果用户向自己的电子邮件服务提供凭据
然后,您无需查看DKIM和SPF记录。用户应该自己做。
您必须从用户那里收集:
- 电子邮件服务类型(SMTP,山魈,邮戳应用程序...
- 电子邮件服务主机名(如果是 SMTP)
- 凭据或 API 密钥
- 也许是特定于服务的选项
如果您使用自己的服务发送电子邮件
然后,用户必须添加 DKIM 条目并更新其域名上的 SPF 条目。您必须根据电子邮件服务向用户提供值。
您可以从所有允许相同功能的服务(mailchimp,mandrill,postmarkapp,zoho...)中获取灵感。
检查 DNS 电子邮件记录
在这两种情况下,都可以使用 DNS 客户端来验证 DNS 记录是否正常。您将能够告诉用户是否缺少记录。
下面是一个示例代码,用于开始使用 ARSoft.Tools.Net 检查 SPF 记录。
var client = new DnsClient(servers, 10000);
var spfRecords = client.Resolve(item.Name, RecordType.Txt);
if (result.AnswerRecords == null || result.AnswerRecords.Count == 0 || result.ReturnCode == ReturnCode.NxDomain)
{
// spf record is missing
}
else if (result.AnswerRecords.Count == 1)
{
// check the record value with SpfRecord.TryParse(item.ActualValue, out spf)
}
else
{
// too many spf records
}