从.NET 2.0 开始,引入了一个新的类,System.Net.Mail.MailMessage。该类用来取代 .NET 1.1 时代的 System.Web.Mail.MailMessage 类。
System.Net.Mail.MailMessage 类用于指定一个邮件,另外一个类 System.Net.Mail.SmtpClient 则用来设置 SMTP,然后发送邮件。由于目前 SMTP 都需要进行身份验证,有的还需要 SSL(比如GMail),所以设置的属性稍微多一些。代码片断如下:
using System.Net.Mail; ...
MailMessage mailMsg = new MailMessage(); mailMsg.From = new MailAddress("你的email地址");
mailMsg.To.Add("接收人1的email地址"); mailMsg.To.Add("接收人2的email地址"); mailMsg.Subject = "邮件主题"; mailMsg.Body = "邮件主体内容"; mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.IsBodyHtml = false; mailMsg.Priority = MailPriority.High;
SmtpClient smtp = new SmtpClient(); // 提供身份验证的用户名和密码 // 网易邮件用户可能为:username password // Gmail 用户可能为:username@gmail.com password smtp.Credentials = new NetworkCredential("用户名", "密码");
smtp.Port = 25; // Gmail 使用 465 和 587 端口 smtp.Host = "SMTP 服务器地址"; // 如 smtp.163.com, smtp.gmail.com
smtp.EnableSsl = false; // 如果使用GMail,则需要设置为true
smtp.SendCompleted += new SendCompletedEventHandler(SendMailCompleted); try { smtp.SendAsync(mailMsg, mailMsg);
}
catch (SmtpException ex) { Console.WriteLine(ex.ToString());
}
...
void SendMailCompleted(object sender, AsyncCompletedEventArgs e)
{ MailMessage mailMsg = (MailMessage)e.UserState;
string subject = mailMsg.Subject; if (e.Cancelled) // 邮件被取消
{ Console.WriteLine(subject + " 被取消。"); }
if (e.Error != null)
{ Console.WriteLine("错误:" + e.Error.ToString()); }
else { Console.WriteLine("发送完成。"); }
}
- 相关文章:
MonoDevelop 2.0 Alpha1发布 (2008-7-6 14:7:32)
.NET中如何分解和合成Gif图像 (2008-6-23 23:33:19)
使用.NET生成FLASH动画 (2008-6-10 12:39:24)
Visual Studio 2008及.NET FX 3.5 SP1 Beta现已发布 (2008-5-29 23:33:19)
一个在.net下进行用户模拟的类 (2008-4-22 12:29:21)
.NET大文件上传知识整理 (2008-4-16 9:25:39)
Microsoft.Web.Administration in IIS 7 (2008-4-8 13:41:54)
IIS 7 新的日志报表,数据库管理,和其他很酷的管理模块 (2008-3-31 9:25:0)
ASP.NET MVC 源代码可以下载了 (2008-3-31 9:19:52)
IIS 7.0比特率节流模块发布了 (2008-3-27 12:52:42)
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。





