【问题标题】:What is the best way to validate a email domain?验证电子邮件域的最佳方法是什么?
【发布时间】:2011-11-09 15:21:11
【问题描述】:

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

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

该方法很好,但并非适用于所有情况,例如“mpg.ro”是一个有效的电子邮件域,但它会捕获异常。

谁能给我另一个关于 C# 中电子邮件域验证的想法?

【问题讨论】:

    标签: c# dns


    【解决方案1】:

    您可以请求域的根目录,然后解析 HTTP 响应吗?如果是 200 就可以了

    【讨论】:

    • 你能举个例子吗?谢谢
    • 签出:stackoverflow.com/questions/1330856/… 你肯定也想要那里推荐的异常处理。
    • 是但是... HttpWebRequest 需要一个网页,而“mpg.ro”(例如)只是一个域,没有网页 www.mpg.ro,所以它在那里输入一个异常太..
    【解决方案2】:

    您可以在 mx record 上进行 dns 查找。这是代码项目中的一个示例:
    http://www.codeproject.com/KB/IP/dnslookupdotnet.aspx

    希望对你有帮助……

    【讨论】:

    • 正如我所见,您需要一个 dns 服务器地址。有没有办法可以在没有任何 ip 的情况下完成?
    【解决方案3】:

    从命令提示符:

    nslookup -type=mx <domain.name>
    

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

    【讨论】:

      猜你喜欢
      • 2017-02-03
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      • 2013-12-05
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      相关资源
      最近更新 更多