2013-05-21 60 views
0

我有一个用户输入电子邮件地址的表单。我通过java脚本验证它。我想验证电子邮件地址的域名 验证域名的最佳方法是什么在.net中的电子邮件地址?如何验证电子邮件地址的域名

+3

简短的回答,没有一个好方法是诚实的。您可以轻松地检查域名看起来像一个真正的域名,但就检查域名是否真实而言,即使您ping域名,也无法保证它处理电子邮件。 – KingCronus

+0

Dns.GetHostByName()是否给出正确答案? –

回答

1
在电子邮件地址查询域名

最好的办法是使用正则表达式 进行验证电子邮件 这个表达式中使用\ w +([ - +'。] \ w +)@ \ w +([ - ] \ w +) 。\ w +([ - ] \ w +)* 你可以在这个表达式编辑域部分,\ w +([ - ] \ w +)* \

+1

我想知道是否有任何Web服务可以告诉这个域是否存在 –

1

这webservive正在检查域: http://www.ecocoma.com/domain_webservice.aspx
必须串域名从电子邮件地址发送到web服务
通知:为了测试此webservive,您必须在线
对于工作是示例代码:

protected void btnwhoIs_Click(object sender, EventArgs e) 
{ 
try 
{ 
Whois_Service service = new Whois_Service(); 
Whois whois = new Whois(); 

service.SoapVersion = SoapProtocolVersion.Soap12; 
whois = service.GetWhois("DOM-T36309683M", "", txtWhoIs.Text); 

divRes.InnerText = whois.Description; 
} 
catch (System.Net.WebException ex) 
{ 
divRes.InnerText = ex.Message; 
} 

} 
0

正如@KingCronus说,有建在这样做的框架没有很好的方法。我知道的最可靠的方法是使用这个商业组件:http://cobisi.com/email-validation/.net-component 我曾经为客户使用过它,它似乎可靠。您可以使用它来检测虚假电子邮件服务(如http://mailinator.com/),但不幸的是,我不知道有任何免费组件执行此功能。