Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 注册并使用用户';s电子邮件域_C#_Asp.net_Asp.net Web Api_Email - Fatal编程技术网

C# 注册并使用用户';s电子邮件域

C# 注册并使用用户';s电子邮件域,c#,asp.net,asp.net-web-api,email,C#,Asp.net,Asp.net Web Api,Email,在我当前的应用程序中,我想添加一个新功能,客户可以注册他们自己的电子邮件域服务器(如果他们有)。目前我正在使用自己的应用程序域发送所有电子邮件 我想知道我们如何使用ASP.NET WebApi&C#实现这一点,该用户将允许验证和注册自己的电子邮件域,而不是使用默认域 我们是否需要用户的DKIM和SPF记录?如果用户向自己的电子邮件服务提供凭据 然后,您不需要查看DKIM和SPF记录。用户应该自己做 您必须从用户处收集: 电子邮件服务类型(smtp、mandrill、postmarkapp…)

在我当前的应用程序中,我想添加一个新功能,客户可以注册他们自己的电子邮件域服务器(如果他们有)。目前我正在使用自己的应用程序域发送所有电子邮件

我想知道我们如何使用ASP.NET WebApi&C#实现这一点,该用户将允许验证和注册自己的电子邮件域,而不是使用默认域

我们是否需要用户的DKIMSPF记录?

如果用户向自己的电子邮件服务提供凭据 然后,您不需要查看DKIM和SPF记录。用户应该自己做

您必须从用户处收集:

  • 电子邮件服务类型(smtp、mandrill、postmarkapp…)
  • 电子邮件服务主机名(如果是smtp)
  • 凭据或api密钥
  • 也许还有特定服务选项
如果您使用自己的服务发送电子邮件 然后用户必须添加DKIM条目并更新其域名上的SPF条目。您必须根据您的电子邮件服务向用户提供值

您可以从所有允许相同功能的服务中获得灵感(、、…)

检查DNS电子邮件记录 在这两种情况下,您都可以使用来验证DNS记录是否正常。您将能够告诉用户记录是否丢失

下面是开始检查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
}