读书人

SMTP 服务器要求安全连接或客户端未透

发布时间: 2012-10-18 13:46:56 作者: rapoo

SMTP 服务器要求安全连接或客户端未通过身份验证的各个解决方案
转:
SMTP 服务器要求安全连接或客户端未通过身份验证的各个解决方案(C#) 最近在做邮件发送接口 把遇到的问题和解决方法告诉大家 希望对了解邮件的人有所帮助

原程序部分代码如下
//设置邮件信息 发件人地址、收件人地址、标题、主题
MailMessage mail = new MailMessage("xxxxxxx@sina.com", "zzzzzzz@sina.com", "标题", "主题");
//设置邮件主题格式
mail.BodyEncoding = Encoding.UTF8;
//设置邮件主体格式是否为 html 格式
mail.IsBodyHtml = false;

//验证邮箱用户名 密码
NetworkCredential work = new NetworkCredential("xxxxxxx", "pwd");
//验证 用户名 密码
client.Credentials = work;

//设置邮箱smtp服务器 端口
SmtpClient client = new SmtpClient("smtp.sina.com");

//是否请求一起发送
client.UseDefaultCredentials = false;
//设置邮件发送格式
client.DeliveryMethod = SmtpDeliveryMethod.Network;
//安全连接设置
client.EnableSsl = false;

client.Send(mail);

错误一:
“/”应用程序中的服务器错误。
--------------------------------------------

SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.7.1 Client was not authenticated
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Net.Mail.SmtpException: SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.7.1 Client was not authenticated


解决方法 :
//设置邮箱smtp服务器 端口
SmtpClient client = new SmtpClient("smtp.sina.com",587);
解决说明:我加上了端口号,587属于发送邮件端口 一般出现此错误会出现在你设置的163的接受者时发生 QQ的没有问题!

错误二 :
“/”应用程序中的服务器错误。
--------------------------------------------

服务器不支持安全连接。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Net.Mail.SmtpException: 服务器不支持安全连接。 我将 //安全连接设置 client.EnableSsl = True;后发生的错误

解决方法 :方法一 设置成“client.EnableSsl = false ”或去掉这句代码
方法二 开启安全连接服务


错误三:
SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: Authentication required
堆栈跟踪:
[SmtpException: SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: Authentication required]

解决方法:
client.EnableSsl = false; 改为 client.EnableSsl = true; 但是这样该后可能会出现“错误二”的提示,所以要解决
这个的话 首先保证服务器是支持安全连接的
这个可能对你有用 http://bbs.weiphone.com/read-htm-tid-1351658.html

错误四:
SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为:
5.7.0 Must issue a STARTTLS command first. 9sm5225813ywf.35


解决方法:sina要求用ssl连接 可以改一下true




万能解决方法:
1,POP3和SMTP服务器要填正确
2,服务器的端口要正确
3,我的服务器要求身份认证
4,发送邮件的用户名和密码要正确

//设置邮箱smtp服务器 端口
SmtpClient client = new SmtpClient("smtp.sina.com",587); 就可以了
163的最固执了!需要注意点 QQ最好过!呵呵

有些时候邮件被退信的原因 提供以下解决方法:http://zhidao.baidu.com/question/153511377.html

读书人网 >编程

热点推荐