当前位置: 首页 > 编程语言 > C#

我可以使用.net检查电子邮件地址是否存在吗?Share

时间:2023-04-10 23:02:45 C#

我可以使用.net检查电子邮件地址是否存在吗?我看过一些php示例,说明如何ping收件箱(不向其发送任何邮件)以检查它是否存在。我想知道是否有人知道.net是否可行?如果我要编写一个应用程序来对通过我的网站捕获的电子邮件列表进行批量检查。SMTP为此定义了VRFY命令,但世界上几乎每个电子邮件服务器都配置为说谎,因为垃圾邮件发送者的滥用完全压倒了合法使用的数量。不,原则上不可能检查电子邮件是否存在-与语言无关。没有执行此操作的协议。有一些部分解决方案,但没有一个是可靠的。请参阅如何在不发送电子邮件的情况下检查电子邮件地址是否存在?细节。如果你写“检查你的邮件”,你是什么意思?如果不向电子邮件所有者发送一些唯一链接,您将无法检查此内容,您只能检查电子邮件的语法和与smtp的连接。publicstaticboolisEmail(stringinputEmail){inputEmail=NulltoString(inputEmail);stringstrRegex=@"^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}"+@".[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+"+@".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$";正则表达式re=newRegex(strRegex);如果(re.IsMatch(inputEmail))返回(true);否则返回(假);}smtp检查string[]host=(address.Split('@'));字符串主机名=主机[1];IPHostEntryIPhst=Dns.Resolve(主机名);IPEndPointendPt=newIPEndPoint(IPhst.AddressList[0],25);Sockets=newSocket(endPt.AddressFamily,SocketType.Stream,ProtocolType.Tcp);s.Connect(endPt);http://www.codicode.com/art/free_asp_net_email_validator_verifier.aspx。使用代码的dll引用。它对个人使用和再分发是免费的。它会在不实际发送电子邮件的情况下检查域是否存在。这不是万无一失的。您能做的最好的事情就是检查语法并查看域名是否解析。电子邮件语法正则表达式:(?#?[_a-zA-Z0-9-+]+(.[_a-zA-Z0-9-+]+)*)@(?[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|arpa|asia|coop|info|jobs|mobi|museum|name|travel)))C#学习教程到此结束:我可以使用.net检查电子邮件地址是否存在吗?如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注——protectedboolcheckDNS(stringhost,stringrecType="MX"){boolresult=false;尝试{使用(Processproc=newProcess()){proc.StartInfo.FileName="nslookup";proc.StartInfo.Arguments=string.Format("-type={0}{1}",recType,host);proc.StartInfo.创建无窗口=真;proc.StartInfo.ErrorDialog=false;proc.StartInfo.RedirectStandardError=true;proc.StartInfo.RedirectStandardOutput=true;proc.StartInfo.UseShellExecute=false;=(objectsender,DataReceivedEventArgse)=>{if((e.Data!=null)&&(!result))result=e.Data.StartsWith(host);};proc.ErrorDataReceived+=(objectsender,DataReceivedreceivedEventArgse)=>{if(e.Data!=null){//在这里读取错误输出,不确定是为了什么?}};proc.开始();proc.BeginErrorReadLine();proc.BeginOutputReadLine();过程.WaitForExit(30000);//30秒后超时。}}catch{结果=false;}返回结果;明源: