已有
1,149 位领导视察,其中有
0 位领导做了批示.
说实话,这篇日志写上来自己都觉得惭愧!-_____-
.Net 2.0中SmtpClient类是专门用来发送电子邮件的。
刚好,今天用上了。
用SmtpClient类发送邮件异常简单,
但今天却让我大伤脑筋
先看下面的代码:
try
{
SmtpClient sc = new SmtpClient(_mailServer, _serverPort);
sc.Credentials = new System.Net.NetworkCredential(_mailUsername, _mailPassword);
sc.UseDefaultCredentials = true;
sc.EnableSsl = EnableSSL;
sc.Send(mail);
return true;
}
假定_mailServer、_serverPort及各参数都正确,这个try语句块能顺利通过吗?
感觉上应该可以完全通过,但事实上,抛出了异常。
那为什么会失败?
问题就出现在
sc.UseDefaultCredentials = true;
注意:此属性在 .NET Framework 2.0 版中是新增的。
获取或设置 Boolean 值,该值控制 DefaultCredentials 是否随请求一起发送。
将sc.UseDefaultCredentials = true;放到sc.Credentials这句之前就OK了。
即:
try
{
SmtpClient sc = new SmtpClient(_mailServer, _serverPort);
sc.UseDefaultCredentials = true;
sc.Credentials = new System.Net.NetworkCredential(_mailUsername, _mailPassword);
sc.EnableSsl = EnableSSL;
sc.Send(mail);
return true;
}
这样就行了