我正在使用桌面应用程序发送批量电子邮件。在这里,我必须验证电子邮件地址是否有效。使用正则表达式我可以验证格式,但如何验证实际有效或托管的电子邮件地址。
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!");
}
现在问题仍然悬而未决。我该如何确认电子邮件地址?我谷歌但没有得到任何有用的链接,有些链接不是免费的。
答案 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/