验证电子邮件域的最佳方法是什么?

时间:2011-11-09 15:21:12

标签: c# dns

在我的应用程序中,我验证了这样的电子邮件域:

public bool DomainValid(string domainName)
{
    try
    {
        IPHostEntry entry = Dns.GetHostEntry(domainName);
        return true;
    }
    catch (Exception)
    {
        return false;
    }
}

该方法很好,但并非在每种情况下,例如'mpg.ro'是一个有效的电子邮件域,但它会捕获异常。

有人可以在C#中给我另一个关于电子邮件域验证的想法吗?

3 个答案:

答案 0 :(得分:2)

您可以请求域的根,然后解析HTTP响应?如果它是200,你很高兴

答案 1 :(得分:2)

您可以在mx record上执行dns查找。这是Code Project的一个例子:
http://www.codeproject.com/KB/IP/dnslookupdotnet.aspx

我希望它会帮助你...

答案 2 :(得分:1)

从命令提示符:

nslookup -type=mx <domain.name>

你也可以在C#中实现这个并阅读答案。