热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

不允许使用邮箱名称。服务器响应为:authenticationisrequired,163smtp10

不允许使用邮箱名称。服务器响应为:authenticationisrequired,163smtp10,使用163SMTP发送邮件出现这个问题,代码如下:Mail
不允许使用邮箱名称。 服务器响应为:authentication is required,163 smtp10   ,使用163SMTP发送邮件出现这个问题,代码如下:
           MailMessage mailMessage = new MailMessage();

            SmtpClient client = new SmtpClient();
            //收件人邮箱地址
            //第一个参数是发信人邮件地址
            //第二参数是发信人显示的名称
            //第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码
            mailMessage.To.Add(new MailAddress(toMail, toMail.ToString(), Encoding.UTF8));
            mailMessage.From = new MailAddress("邮箱名称");
            //邮件标题编码
            mailMessage.SubjectEncoding = Encoding.UTF8;
            //邮件主题
            mailMessage.Subject = title;
            //邮件内容
            mailMessage.Body = content;
            //邮件内容编码
            mailMessage.BodyEncoding = Encoding.UTF8;

            //设置正文内容是否是包含Html的格式
            mailMessage.IsBodyHtml = true;
            //发送邮件的优先等级(有效值为High,Low,Normal)
            mailMessage.Priority = MailPriority.Normal;
            client.UseDefaultCredentials = true;
            client.Credentials = new NetworkCredential("邮箱名称", "密码");
            
            //client.Port = 25; // Gmail 使用 465 和 587 端口 
            client.Port = 25;
            client.Host = "smtp.163.com"; // 如 smtp.163.com, smtp.gmail.com 
            client.EnableSsl = false; // 如果使用GMail,则需要设置为true 
            client.UseDefaultCredentials = false;
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.ServicePoint.MaxIdleTime = 0;
            client.ServicePoint.ConnectionLimit = 1;
            //client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
            //发送邮件
            try 
            {
                //client.SendAsync(mailMessage, mailMessage.To); //异步发送 (异步发送时页面上要加上Async="true" )
                client.Send(mailMessage);   //同步发送
            }
            catch (SmtpException e)
            {
                throw e;
            }

56 个解决方案

#1


在线等答复,网上找了很多,没有找到问题所在。

#2


没有人碰到类似的问题么?

#3


发送的邮箱确认没问题吗?163邮箱的smtp开通了?能不能在outlook或其他工具中发送?

#4


发送邮件是我一直用的163邮箱,肯定能发送啊。POP3/SMTP/IMAP  这三个都开通了的。

#5


1.这句删除试试
client.UseDefaultCredentials = false;
2.client.Credentials = new NetworkCredential("邮箱名称", "密码");
邮箱名称有带后缀吗?

#6


client.UseDefaultCredentials = false;
应该是这句的原因,你的邮箱应该是需要身份验证的。

#7


带了后缀的,把这句client.UseDefaultCredentials = false; 改成false也没有用,还是报同样的错误

#8


账号不要带@ 163.com这种

#9


我也是用163发的,你可以参考下。

#10


这是上面那些具体参数。

#11


跟代码没有多大关系。网易2010年以后申请的邮箱,大部分已经不支持外部调用smtp了。只有一小部分老邮箱才支持

#12


9楼的方法和我的差不多啊。。你的没有报错么?

#13


@11楼,关键是同样的方法,我前一个月用同样的邮箱测试还是能发送的,现在我不能发送了。

#14


引用 12 楼 azhe5201314 的回复:
9楼的方法和我的差不多啊。。你的没有报错么?

没有,我发送的正常。你去掉一些东西就好。我原来不隐藏下面那些也是在不停的报错。

#15


 你代码中有两句:
client.UseDefaultCredentials =  true;
.....
client.UseDefaultCredentials = false;
你需要将第二句删除掉。
client.UseDefaultCredentials =  true;true是设置为需要身份验证的,而你的代码,下面却设置为false,应该就是这个原因报错的。

#16


你按照我那个写的来就好,把一些多余的条件都去除掉。我实验了几十次才得出的结论。一开始我也是设置N多东西,结果怎么都发送不了。

#17


引用 13 楼 azhe5201314 的回复:
@11楼,关键是同样的方法,我前一个月用同样的邮箱测试还是能发送的,现在我不能发送了。

现在的邮箱一般都对发送有限制的,为了防止群发,比如一天最多发送多少封,在多长时间连续发送多少封,等等之内都会被运营商锁掉。总之,做群发软件需谨慎。

#18


@14楼  和你同样的方法。。

#19


@18楼 是不是邮箱设置那没开SMTP服务

#20


@19# 开了的。

#21


那就真不知道了

#22


@20# 会不会是你那个邮箱发送的数量到达了上限?你申请一个新的邮箱试试?

#23


@22# 没有达到上限的,我自己手动在163里面发是可以发的。

#24


头疼啊,这问题都不知道问题所在,到底哪里出问题了啊。

#25


client.Credentials = new NetworkCredential("邮箱名称", "密码");
这里不要@163.com,试下。

#26


@25# 没用,试过很多次了,同样的错误。

#27


今天继续坐等高手来解决这个问题,这个问题没有解决,都吃不下饭了。

#28


密码设置成你的客户端授权码再试试

#29


你可以试下能不能在outlook或者foxmail上面能不能发送接收正常使用,不是在网站上直接使用,有可能是你的邮箱被锁死了,你或者换个qq邮箱或者企业邮箱试试,就知道是代码的问题还是邮箱的问题。

#30


以前遇到过是163邮箱不支持smtp问题,白白调试半天。后来换了个老的163邮箱就好了

#31


client.UseDefaultCredentials = true;

邮箱要求身份验证。

还有如果你用的是163域名邮箱的话,用户名要全称 
比如 admin@singoocms.com 
smtp是 smpt.ym.163.com

#32


对了。还有些邮箱新加了些什么授权码,可以尝试先关闭,再打开,其中会有一些操作

重新开启smtp后再试试,也许就可以了!

#33


可以关闭客户端授权密码即可。

#34


我也测试了好久 最终得到解决方案  就把他贴在这里了 希望遇到此问题的朋友们能得到解决方案。
“登陆邮箱后台关闭客户端授权密码”就好啦。

#35


该回复于2016-02-10 11:15:40被管理员删除

#36


发送邮件  最好不要用163邮箱  很多时候都会把163邮箱发送的邮件当成垃圾邮件 你可以去了解下163邮箱的发展史

#37


楼主有人说过了,这两处这个语句删除即可:
client.UseDefaultCredentials = false;

#38


楼主不要再深究了。我也遇到同样的问题,今天弄了半天。最后还是重新注册了一个sina的邮箱开通smtp。以前的代码又能用了。

#39


163,126最近启用了客户端授权码,
用客户端连接,不能再用密码,
需用授权码。

我也碰到此问题,改为授权码即可。

#40


这跟代码无关..是运营商搞的鬼...

代码是一样的代码..但是针对不同的服务商.出现的问题也不一样.. 所以尽量不要用这种"第三方"的个人邮箱来发送邮件

但是我们常常又要实现这样的功能.比如"注册激活","密码找回"等操作.这样要如何解决呢?

我给你2个解决方案.(都得有域名)

1`自己假设邮件服务器网上有很多开源的(hmailserver我用了这个)很傻的操作 配置后添加账号并且在域名解析设置下 就可以了.
   这个有一个问题 就是有的服务商设置了拦截 你可以找管理员进行IP白名单(把IP告诉他就行了)

2`使用企业邮箱.(阿里云我是用过).自己的域名下设置企业邮箱(免费),.然后同样的 而已是添加用户 .代码也是一样的.

上面2个办法都可以解决问题.并且都比较稳定..跟你现在不同的是  你用你自己的 而不是"第三方"的.

#41


我也遇到了一样的问题:
不允许使用邮箱名称。 服务器响应为:authentication is required, 163 smtp5,D9GowAAH1DzmEJNWCDDBDA--.4506S2 1452478695
楼主解决了么,求解决方法啊

#42


$mail->Password = 授权密码 【非邮箱登录密码】

#43


把邮箱登陆密码改为授权码,测试成功

#44


把邮箱登陆密码改为授权码,测试成功  43楼正解,谢谢啦。网易真坑啊。

#45


发送邮件的程序用的账号密码错误了,确认账号密码后重新再试试吧。

#46


该回复于2016-01-20 08:38:08被管理员删除

#47


不允许使用邮箱名称。 服务器响应为:authentication is required,163 smtp11,D8CowEBpM0a+4QBXZ0HIAA--.13073S2 1459675583  我的改成授权码也不行

#48


引用 44 楼 azhe5201314 的回复:
把邮箱登陆密码改为授权码,测试成功  43楼正解,谢谢啦。网易真坑啊。




真心坑  如果是从前就开通SMTP服务的  然后没有去设置  就没问题 
如果是  比较新的邮箱   要开通 服务 必须设置授权码  然后代码里面用授权码...   这特么  难怪我一个账号能发  一个账号不能发

#49


我也是改成了授权码之后也无法运行,想请教一下怎么解决,请问你是怎么解决的?@qq_35129413 

#50


想请问一下,我改了授权码之后变成了:事务失败。 服务器响应为:DT:SPM 163 smtp10,DsCowAA3nzvpa5hXkBS9Aw--.23331S2 1469606890,please see http://mail.163.com/help/help_spam_16.htm?ip=218.18.156.63&hostid=smtp10&time=1469606890
这个有人遇到过吗?

推荐阅读
author-avatar
她能让你微笑衙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有