使用SmtpClient时出现“不允许使用邮箱名称”错误
利用ASP.NET的Sytem.Net.Mail来发送邮件,方法如下
public SmtpClient createClient(string host,int port,string user,string pwd)
{
SmtpClient smtp = new SmtpClient();
smtp.Host = host;
smtp.Port = port;
smtp.UseDefaultCredentials = true;
smtp.Credentials = new System.Net.NetworkCredential(user, pwd);
return smtp;
}
没有条件架设邮件服务器,于是注册了一个网易163的邮箱,想要利用网易的SMTP服务来发送邮件,却出现了“邮箱不可用”的错误,如图:
搜索了一下原来是新注册的网易邮箱不能使用SMTP了。据说升级到无限量邮箱可以使用,于是找到这个链接:http://uinfo.mail.163.com/upgmail/login.htm。但是好像还是不好用。换了一个从前注册的老邮箱,“邮箱不可用”的错误没有了,又出来了新的问题,错误提示是:
Send Error:不允许使用邮箱名称。 服务器响应为: You are not authorized to send mail, authentication is required。就是说没有通过登录认证,如图:
网上找了一下有很多答案,基本都是说一个问题,就是在将下面两句话位置颠倒了:
client.Credentials = new NetworkCredential(用户名, 密码);
client.UseDefaultCredentials = true;
将其反过来放就好了。其实我之前用的时候压根就没有用的“client.UseDefaultCredentials = true;”也一样能正常发送又将,不知道是什么问题,不过如此行事也没有解决问题,仔细看了一下原来是邮箱的名字写错了,气煞我也!但是这个解决办法也许以后会有用的吧。
历史上的今天
2017年:济南718大雨十周年祭(30条评论)
2014年:启用Bing-Phone手机主题(61条评论)
2013年:济南718大雨六周年祭(62条评论)
2012年:WordPress 本地调试问题两则(26条评论)
2011年:QQ2011 Beta3 Q+版本简单试用(102条评论)
2010年:快乐星期天110期:幽默语录(9)(49条评论)