使用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;”也一样能正常发送又将,不知道是什么问题,不过如此行事也没有解决问题,仔细看了一下原来是邮箱的名字写错了,气煞我也!但是这个解决办法也许以后会有用的吧。
===================博客订阅列表=================
===================最新文章列表=================
[toluu]St Louis™ - 生活、学习
[feedsky]St Louis™ - 生活、学习
[feedburner]St Louis™ - 生活、学习
ASP.NET:利用RegexStringValidator验证字符串格式
ASP.NET 2.0:DataList嵌套DataList解决方案
ASP.NET:GridView中模板列、RowCommand和行号获取
ASP.NET:The Server tag is not well formed解决
VS2005未能加载文件或程序集Microsoft.Build.Engine
PageRequestManagerParserErrorException错误
GridView里面的HyperLink和ButtonField操作总结




