查找异常的确切原因-System.Net.Sockets.SocketException我正在尝试使用给定的代码向SMTP邮件服务器发送邮件以下。但是,我收到一个错误-错误:System.Reflection.TargetInvocationException:调用目标已抛出异常。--->System.Net.Mail.SmtpException:发送邮件失败。--->System.Net.WebException:无法连接到远程服务器--->System.Net.Sockets.SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机未能在System.Net.Sockets.Socket.DoConnect(EndPointendPointSnapshot,SocketAddresssocketAddress)上响应123.456.789:587,IPAddressStateConnect,Socketaddresses,IAsyncResultasyncResult,Int32timeout,Exception&exception)这个异常告诉我可能的原因列表——连接尝试失败是因为连接方在一段时间后没有正确响应,或者建立的连接失败是因为连接的主机未能响应123.456.789:587但它没有告诉我具体原因是什么-端口号,错误的用户名称,密码或其他我如何找出确切原因。这是我正在使用的代码——从C#发送带有附件的电子邮件,附件作为第1.2部分使用System.Net到达Thunderbird;使用System.Net.Mail;publicvoidemail_send(){MailMessagemail=newMailMessage();SmtpClientSmtpServer=newSmtpClient("smtp.gmail.com");mail.From=newMailAddress("你的mail@gmail.com");mail.To.Add("to_mail@gmail.com");mail.Subject="测试邮件-1";mail.Body="带附件的邮件";System.Net.Mail.Attachment附件;attachment=newSystem.Net.Mail.Attachment("c:/textfile.txt");邮件.附件.添加(附件);SmtpServer.Port=587;SmtpServer.Credentials=newSystem.Net.NetworkCredential("你的邮箱@gmail.com","你的密码");SmtpServer.EnableSsl=true;SmtpServer.Send(邮件);}IP地址明显不正确123.456.789:587。尝试从命令提示符下pingsmtp.gmail.com以查看它是否正在解析该地址。如果是这样,您可以在某个地方覆盖它,可能在您的主机文件中(C:\Windows\System32\drivers等主机)。运行您的代码片段后,我立即收到Google的“登录尝试被阻止”,因为这种身份验证方法显然不符合他们当前的标准。以上就是C#学习教程:查找异常的确切原因-System.Net.Sockets.SocketException分享的全部内容,如果对您有用还需要进一步了解C#学习教程,希望大家多多指教多多关注——本文来自网络合集,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
