救命啊。5个小时了
一直是邮件发送失败。
在客户公司。使用他们的smtp。用他们自己的邮件测试。总是说:拒绝了发件人的地址
他们是用代理上网的。。
他们的smtp要身份验证,用户名和密码检查N遍了。
我也使用了System.Web.Mail的1.1方法和Net.Mail的2.0方法。还试了CDO。。都是这样的提示。
老大们救命
------解决方案--------------------邮件服务器被列入黑名单,换域名
------解决方案--------------------mark smtp 问题
------解决方案--------------------你换一个发送账户看看,比如发件人换为GMAIL的试试
------解决方案--------------------你换一个发送账户看看,比如发件人换为GMAIL的试试
------解决方案--------------------是不是用户验证的问题
定义验证类
internal class CMailCredential : System.Net.ICredentialsByHost
{
private string _emailUserID = "";
private string _emailPassword = "";
/// <summary >
/// 构造函数
/// </summary >
/// <param name="emailUserID" >EMail用户名 </param >
/// <param name="emailPassword" >Email密码 </param >
public CMailCredential(string emailUserID, string emailPassword)
{
_emailUserID = emailUserID;
_emailPassword = emailPassword;
}
/// <summary >
/// 网络注册
/// </summary >
/// <param name="host" >主机 </param >
/// <param name="port" >端口 </param >
/// <param name="authenticationType" >验证类型 </param >
/// <returns > </returns >
public NetworkCredential GetCredential(string host, int port, string authenticationType)
{
return new NetworkCredential(_emailUserID, _emailPassword); //输入Email用户名和Email密码
}
}
发送Email
SmtpClient Smtp = new SmtpClient(HOSTADDRESS);
Smtp.Credentials = new CMailCredential(HOSTMAIL, HOSTMAILPASSWORD); //添加用户密码
MailMessage Mail = new MailMessage()
Smtp.Send(Mail);
这样就可以完成验证了
------解决方案--------------------顶
------解决方案--------------------账号写错了。
------解决方案--------------------如果你用的邮箱名(发件人的用户名是05年以后注册的,肯定不行,我先前也碰到了后来我换了一个早一点的邮箱ok了(别人跟我说的),你换一个吧