C# 通过探测邮件服务器进行Email地址有效性检验
Email地址有效性的检验是一个经常遇到的问题啦!一般的检验方法是对Email地址字符串进行简单的格式检验,如是否含有@ .等有效字符等。这种方法只能保证该地址从格式上看似有效,并不能保证地址可达。最近进行大量的地址校验,写了一个小程序,可以检测Email地址是否真 正可达。
Email地址包括两个部分:用户名和邮件服务器。因此,检验邮件地址可以分为两步进行:首先检验邮件服务器,然后检验用户名。如 abc@163.com,首先检验163.com服务器是否是有效的邮件服务器,如果是再在该服务器上确认是否存在abc用户。
通过查询DNS服务器,获取域名的MX(Mail Exchanger)记录,可以确定某一域名对应的邮件服务器是否有效。在Windows系统中,可以使用nslookup程序来查看这一记录。
//通过nslookup程序查询MX记录,获取域名对应的mail服务器
public string getMailServer(string strEmail) { string strDomain = strEmail.Split('@')[1]; ProcessStartInfo info = new ProcessStartInfo(); info.UseShellExecute = false; |