赞
踩
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
QQ邮件常见出错代码及退信分析
一、FOXMAIL发送邮件常见出错代码:
问题:the server says:550 relaying mail to <> is not allowed
问题:The server says:550 <>... relaying denied
问题:the server says:550 5.7.1 relaying not permitted:
解答:使用某些Smtp服务器时,限制了收件人的地址,只能换一个Smtp服务器。
问题:The server says:550 <>:local user only
问题:The server says:550 <>:Invalid User
问题:The server says:550 Invalid recipient
解答:使用163.net,163.com,yeah.net和netease.com之类的Smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的“帐户属性”中的“个人信息”里面填写正确的邮件地址。
问题:the server says:551 delivery not allowed to non-local recipient
问题:The server says:553 Relay restriction.
问题:The server says:553 From <>, message blocked.
问题:The server says:553 sorry,you are not allow to use this SMTP to relay your eami
问题:The server says:553 sorry, that domain isn&apost in my list of allowed rcpthosts
解答:使用21cn.com,china.com,371.net,sina.com等大多数信箱的smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的“帐户属性”中的“个人信息”里面填写正确的邮件地址。
问题:The server says:505 client was not authenticated
问题:The server says:553 authentication is required to send mail as <>
解答:使用263.net和sohu.com的Smtp服务器时,不但要用自身的邮箱发信,而且要加入身份验证,所以即要在“个人信息”中填写正确邮箱地址,又要选中“SMTP服务器需要认证”。
问题:The server says:535 Error:authenticatin failed
问题:The server says:535 Authentication unsuccessful
问题:The server says:452 Insufficient system storage
解答:在使用Esmtp认证的过程中出错,检查一下Esmtp设置,多试几次。
问题:The server says:553 <>...domain name required
问题:The server says:550 Unable to relay for ...
解答:多出现在用Wingate代理服务器发送邮件时。虽然在Wingate中“POP3 邮箱帐号”要使用“用户名#POP3地址”的格式,但在“帐户属性”中的“个人信息”中还是要填写一般的格式。
问题:The server says:553 mailbox name not allowed
解答:收件人邮箱地址不允许,需检查收件人地址是否正确。
问题:the server says:553 sorry, your envelop sender is in my badmailfrom list
解答:服务器限制了收件人的地址,只能换一个smtp服务器发信。
问题:the server says:554 Transaction failed
问题:The server says:451 Requested action aborted,errno=28
解答:传输失败,检查网络问题。
问题:the server says:503 error:needmail command
问题:The server says:503 need mail before RCPT.
问题:The server says:503 Bad sequence of commands
解答:消息命令顺序出错,一般出现在其他错误之后,先检查之前出现的错误提示。
问题:The Server says:501 syntax.helo hostname
问题:The server says:501 Invalid domain name
问题:The server says:502 unimplemented command
问题:the server says:503 5.0.0 polite people say HELO first
问题:The server says:533 relay restriction
问题:The server says:544 <>:Recipient address rejected: Relay access denied
解答:传输中的语法错误,原因不明。
二、OUTLOOK发送邮件常见出错代码:
-
- 0x800C013E 可能是 Folders.dbx 档案属性错误或损坏.
- 0x800CCC00 身份验证(Authentication)未载入
- 0x800CCC01 认证(Certificate)内容错误
- 0x800CCC02 认证日期错误
- 0x800CCC03 使用者已联机
- 0x800CCC05 未联机到服务器
- 0x800CCC0A 邮线下载未完成
- 0x800CCC0B 服务器忙碌中
- 0x800CCC0D 找不到主机(检查你的SMTP服务器是不是设错,亦可能是对方Server 的问题,例如 Mail Server 没有开机、对方的DNS 服务器死掉了等等)
- 0x800CCC0E 联机到服务器失败,无法与主机建立联机。可能对方主机正在维护中、或是网络联机品质不好、服务器关机、邮件服务器尚未启动等等,等一段时间再试。
- 0x800CCC0F 服务器结束联机(对方服务器负荷过重、网络传输壅塞易造成此现象,可以试着增加你联机逾时的等候时间试试看,或是换一联机品质较佳的 ISP)
- 0x800CCC10 服务器无法辨认此邮件地址
- 0x800CCC11 服务器无法辨认的 Mailing list
- 0x800CCC12 无法传送 Winsock request
- 0x800CCC13 无法接收 Winsock reply
- 0x800CCC14 无法起始 Winsock
- 0x800CCC15 无法开启 Windows Socket
- 0x800CCC16 无法辨认使用者账号,使用者账号错误
- 0x800CCC17 使用者中断操作
- 0x800CCC18 登入失败(例如:不需要安全密码认证登入,但却设了安全密码认证登入)
- 0x800CCC19 作业逾时
- 0x800CCC1A 无法以 SSL 建立联机
- Winsock 错误
- 0x800CCC40 Network subsystem 无法使用
- 0x800CCC41 Windows Sockets 不支持此应用程序
- 0x800CCC43 Bad address.
- 0x800CCC44 Windows Sockets 无法加载
- 0x800CCC45 Operation now in progress..
- SMTP 错误
- 0x800CCC60 不合法的回应
- 0x800CCC61 不明的错误代码
- 0x800CCC62 收到语法错误
- 0x800CCC63 语法参数不正确
- 0x800CCC64 指令不完整
- 0x800CCC65 不正确的指令序列
- 0x800CCC66 指令不完整
- 0x800CCC67 没有这个指令
- 0x800CCC68 邮件信箱被锁住或忙碌中
- 0x800CCC69 找不到邮件信箱
- 0x800CCC6A 处理要求错误
- 0x800CCC6B 邮件信箱不在此服务器上
- 0x800CCC6C 已无空间储存邮件
- 0x800CCC6D 已超过限制的储存容可舷?
- 0x800CCC6E 不合法的邮件信箱名称
- 0x800CCC6F Transaction error,出现这讯息,可能是服务器不接受你的邮件,请跟你的 ISP 联络。
- 0x800CCC78 不明的寄件者,或邮件回复(reply-to)地址不正确
- 0x800CCC79 收件者被服务器拒绝
- (Relay Denied:最常发生于 Outlook Express 的 SMTP 设定不正确,请使用提供你联机服务的ISP公司之SMTP服务器来寄信,)
- 0x800CCC7A 没有指定寄件者
- 0x800CCC7B 没有指定收件者
- POP3 错误
- 0x800CCC90 登入邮件服务器发生错误,检查一下你是不是有使用该服务器的权限。或者:不需要安全密码认证登入,但却设了安全密码认证登入
- 0x800CCC91 使用者名称错误或找不到此使用者
- 0x800CCC92 账号、密码错误
- 0x800CCC93 无法解释响应
- 0x800CCC94 需要指令
- 0x800CCC95 服务器上已无邮件
- 0x800CCC96 没有邮件标记为要下载
- 0x800CCC97 Message ID 超出范围
- NNTP 错误
- 0x800CCCA0 新闻服务器响应错误,可能你没有拥有可使用该服务器的权限。
- 0x800CCCA1 读取新闻群组失败
- 0x800CCCA2 要求服务器邮件清单失败
- 0x800CCCA3 无法显示清单
- 0x800CCCA4 无法开启群组
- 0x800CCCA5 服务器无此群组
- 0x800CCCA6 邮件不在服务器上
- 0x800CCCA7 找不到件标题
- 0x800CCCA8 找不到邮件本文
- 0x800CCCA9 无法发布到服务器上
- 0x800CCCAA 无法开启下封邮件
- 0x800CCCAB 无法显示日期
- 0x800CCCAC 无法显示标题
- 0x800CCCAD 无法显示 MIME 标题
- 0x800CCCAE 使用者名称或密码不正确
- RAS 错误
- 0x800CCCC2 未安装拨号网络
- 0x800CCCC3 找不到拨号网络
- 0x800CCCC4 拨号网络错误
- 0x800CCCC5 Connectoid 坏或遗失
- 0x800CCCC6 取得拨号设定时错误
- IMAP 错误
- 0x800CCCD1 登入失败
- 0x800CCCD2 Message tagged
- 0x800CCCD3 Invalid response to request.
- 0x800CCCD4 语法错误
- 0x800CCCD5 不是 IMAP 服务器
- 0x800CCCD6 Buffer 已超过上限
- 0x800CCCD7 Recovery error
- 0x800CCCD8 数据不完整
- 0x800CCCD9 联机被拒
- 0x800CCCDA 不明的回应
- 0x800CCCDB User ID 已更改
- 0x800CCCDC User ID 指令失败
- 0x800CCCDD Unexpected disconnect
- 0x800CCCDE Invalid server state
- 0x800CCCDF 无法认证客户端
三、退信分析
每一套邮件系统都有自己固定的退信格式,为了方便,我们只列举几种常见的退信通知,退信的前半部分是固定的格式,比如:尊敬的XX邮箱用户: 我们很抱歉的通知您,您的这封邮件不能投递到以下一个或多个地址中去。可能的原因有……
其实真正的退信原因全部在退信的后半部分的“服务器返回信息为:”里!常见的有:
1. unknow user---没有这个用户,很多时候,客户在写邮件的时候,输错了对方的email地址帐号,就导致这样的问题。(当然也有个别的特例,比如一些反垃圾邮件组织封杀了邮箱的IP的时候,退信上也会显示unknow user,但是不多见)
2.not found host---找不到主机。这种情况一般是对方的域名解析有问题。如果是发给123@abc.com这个信箱,收到这样的退信,很可能就是由于DNS无法将abc.com这个域名解析到响应的IP上!
3. loops back to myself—域没有激活!激活域是开通邮箱的一部分,如果发信给没有激活域的邮箱会有这样的退信。但是这种情况相对于其他的常见退信情况还是很少见到。
4. I don’t like spam—IP被对方封杀。需要说明的是目前国际上存在很多“反垃圾邮件组织”,这些组织对垃圾源的评定也不一样,有些组织甚至将全部中国电信的IP封杀了!遇到这样的情况,我们会和这个组织联系,请求其解除对我们的封杀。但是这个主动权就不在我们这里了。
5.User quota has been reached---配额(空间)已满。
SMTP原理:
简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 是事实上的在Internet传输email的标准。
例如A使用163邮箱发送邮件给B(qq邮箱)。首先A会把邮件通过SMTP(Simple Mail Transfer Protocol)协议传输到163的Smtp服务器上,163的Smtp服务器会根据B的邮箱账号,把邮件通过Smtp协议发给QQ邮箱的Smtp服务器。QQ的Smtp服务器接收到邮件消息后会将之存储在QQ邮箱的邮件存储设备上。当B登陆QQ邮箱后,如果有新邮件,POP3服务器就会从QQ邮箱的邮件存储设备上读出邮件并通过POP3/IMAP服务发送给邮件客户端的B。
原理图
使用的对象:
smtpClient类:允许应用程序使用简单邮件传输协议 (SMTP) 发送电子邮件。
MailAddress类:MailAddress类表示电子邮件的地址。该类结合SmtpClient类或MailMessage类使用,其实例存储了电子邮件的地址信息。
MailMessage 类:MailMessage类是.NET Framework中管理邮件的专用类,表示可以使用SmtpClient类发送的电子邮件。MailMessage 类的实例表示一个电子邮件的所有内容,并用SmtpClient类来传输到SMTP服务器。若要指定电子邮件的发件人、收件人和内容,可以使用 MailMessage类的关联属性。
NetworkCredential类:为基于密码的身份验证方案(如基本、简要、NTLM 和 Kerberos 身份验证)提供凭据。
gmail(google.com)
POP3服务器地址:pop.gmail.com(SSL启用 端口:995)
SMTP服务器地址:smtp.gmail.com(SSL启用 端口:587)
21cn.com:
POP3服务器地址:pop.21cn.com(端口:110)
SMTP服务器地址:smtp.21cn.com(端口:25)
sina.com:
POP3服务器地址:pop3.sina.com.cn(端口:110)
SMTP服务器地址:smtp.sina.com.cn(端口:25)
tom.com:
POP3服务器地址:pop.tom.com(端口:110)
SMTP服务器地址:smtp.tom.com(端口:25)
163.com:
POP3服务器地址:pop.163.com(端口:110)
SMTP服务器地址:smtp.163.com(端口:25)
263.net:
POP3服务器地址:pop3.263.net(端口:110)
SMTP服务器地址:smtp.263.net(端口:25)
yahoo.com:
POP3服务器地址:pop.mail.yahoo.com(端口:110 启用SSL:995)
SMTP服务器地址:smtp.mail.yahoo.com(端口:25 启用SSL:465)
263.net.cn:
POP3服务器地址:pop.263.net.cn(端口:110)
SMTP服务器地址:smtp.263.net.cn(端口:25)
Foxmail:
POP3服务器地址:POP.foxmail.com(端口:110)
SMTP服务器地址:SMTP.foxmail.com(端口:25)
sinaVIP
POP3服务器:pop3.vip.sina.com (端口:110)
SMTP服务器:smtp.vip.sina.com (端口:25)
sohu.com:
POP3服务器地址:pop3.sohu.com(端口:110)
SMTP服务器地址:smtp.sohu.com(端口:25)
POP3服务器地址:pop.x263.net(端口:110)
SMTP服务器地址:smtp.x263.net(端口:25)
yahoo.com.cn:
POP3服务器地址:pop.mail.yahoo.com.cn(端口:995)
SMTP服务器地址:smtp.mail.yahoo.com.cn(端口:587)
雅虎邮箱POP3的SSL不启用端口为110,POP3的SSL启用端口995;SMTP的SSL不启用端口为25,SMTP的SSL启用端口为465
QQ邮箱
POP3服务器地址:pop.qq.com(端口:110)
SMTP服务器地址:smtp.qq.com (端口:25)
QQ企业邮箱
POP3服务器地址:pop.exmail.qq.com (SSL启用 端口:995)
SMTP服务器地址:smtp.exmail.qq.com(SSL启用 端口:587/465)
SMTP服务器需要身份验证
126邮箱
POP3服务器地址:pop.126.com(端口:110)
SMTP服务器地址:smtp.126.com(端口:25)
HotMail
POP3服务器地址:pop.live.com (端口:995)
SMTP服务器地址:smtp.live.com (端口:587)
china.com
POP3服务器地址:pop.china.com(端口:110)
SMTP服务器地址:smtp.china.com(端口:25)
139邮箱
POP3服务器地址:POP.139.com(端口:110)
SMTP服务器地址:SMTP.139.com(端口:25)
摘自:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。