使用有效的MX SERVER验证电子邮件地址

时间:2016-03-11 11:35:20

标签: c# asp.net email c#-4.0 email-validation

我正在使用桌面应用程序发送批量电子邮件。在这里,我必须验证电子邮件地址是否有效。使用正则表达式我可以验证格式,但如何验证实际有效或托管的电子邮件地址。

           string email = txtEmailAddress.Text.Trim();

            if (!System.Text.RegularExpressions.Regex.IsMatch(email, @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"))
            {
                MessageBox.Show("XInValid email address!"); 
            }
            else
            {
                MessageBox.Show("Valid email address!"); 

            }

现在问题仍然悬而未决。我该如何确认电子邮件地址?我谷歌但没有得到任何有用的链接,有些链接不是免费的。

2 个答案:

答案 0 :(得分:1)

您可以使用mailcheck.co之类的电子邮件验证服务,该服务具有免费配额,并允许通过curl进行验证。 谷歌也有免费的API来接收域的MX记录-https://dns.google.com/query?name=nodeart.io 它不仅可以查询MX记录,还可以查询A记录。 正确的流程是解析MX记录-其中不包含IP地址,而是cname。之后,您需要解析该新地址,如果有A记录,您最终将获得MTA服务器的IP地址。不幸的是,MX可能溃败到CNAME,后者将路由到另一个CNAME,后者将路由到A记录。小递归。但是您只能在MX上停止。

答案 1 :(得分:0)

您无法验证电子邮件是否100%有效,除非您实际发送该电子邮件。

实际上,您可以检查MX记录(或A记录,如果未找到MX),但是,您无法验证,例如,用户是否存在。

以下是可以帮助您的服务列表:https://www.marketingtechblog.com/verify-email-lists/