关于.net 2.0 发E-Mail的问题

cai11709394 2006-07-03 10:07:54
try
{

string From = "abc@21cn.com";
string To = "abc@21cn.com";
string Title = "Net.EMail Test";
string Body = "Net.EMail Test Body \n" + DateTime.Now.ToString("yyyy-MM-dd hh:mm");

System.Net.Mail.MailMessage netMessage = new System.Net.Mail.MailMessage(From, To);

netMessage.SubjectEncoding = System.Text.Encoding.UTF8;
netMessage.Subject = Title;
netMessage.BodyEncoding = System.Text.Encoding.UTF8;
netMessage.Body = Body;

System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.21cn.com");



smtp.Credentials = new System.Net.NetworkCredential("abc", "123456");

smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Send(netMessage);
}
catch (System.Net.Mail.SmtpFailedRecipientException sfrEx)
{
MessageBox.Show(sfrEx.Message, "SmtpFailedRecipientException");
}
catch (System.Net.Mail.SmtpException sEx)
{
MessageBox.Show(sEx.Message, "SmtpException");
}


请问这样有没有问题???
为什么我总是发不到,总是报错?


而我用.net 1.1 就可以发到

try
{

string From = "abc@21cn.com";
string To = "abc@21cn.com";
string Title = "Web.EMail Test";
string Body = "Web.EMail Test Body \n" + DateTime.Now.ToString("yyyy-MM-dd hh:mm");

System.Web.Mail.MailMessage webMessage = new System.Web.Mail.MailMessage();


webMessage.From = From;
webMessage.To = To;
webMessage.Subject = Title;
webMessage.BodyEncoding = System.Text.Encoding.UTF8;
webMessage.Body = Body;



webMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
webMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc");
webMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "123456");

System.Web.Mail.SmtpMail.SmtpServer = "smtp.21cn.com";
System.Web.Mail.SmtpMail.Send(webMessage);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

请问那位高手帮我解答一下!
...全文
469 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
slex 2006-07-04
  • 打赏
  • 举报
回复
2.0的SmtpClient有改动,你看看MSDN有说明
yyw84 2006-07-03
  • 打赏
  • 举报
回复
http://yyw84.cnblogs.com/archive/2006/05/17/402381.html
sky 2006-07-03
  • 打赏
  • 举报
回复
2.0比1.1改进了,用不着如此麻烦。

Public Class TestEmail
Inherits System.Net.Mail.MailMessage

Private nwSmtp As String
Private strFrom As String

Public Sub New()
nwSmtp = System.Configuration.ConfigurationManager.AppSettings("SmtpServer")
strFrom = System.Configuration.ConfigurationManager.AppSettings("EmailSender")

BodyEncoding = System.Text.Encoding.UTF8
IsBodyHtml = True
End Sub

Public Sub SendEmail()
Dim client As New System.Net.Mail.SmtpClient(nwSmtp)

client.UseDefaultCredentials = False
client.Credentials = New System.Net.NetworkCredential(strFrom, "password")
client.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network

client.Send(strFrom, [To].Item(0).Address, Subject, Body)

End Sub

End Class
cai11709394 2006-07-03
  • 打赏
  • 举报
回复
顶一下!!!

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧