在.net FrameWork1.X中,我们都是使用System.Web.Mail类来进行发送邮件。而在.Net FrameWork2.0中,MS为我们提供了功能更强大的System.Net.Mail功能。
今天之所以写这篇Blog也是缘于在CSDN论坛上一个兄弟问如何把邮件发送给多人,回答得人提供了一种方式:把多个收件人split然后逐个发送。尽管在之前我并没有使用过.Net Framework中System.Net.Mail空间下的任何功能,但是,我想:MS不会只提供给我们一个这么笨的方法吧。
于是,打开MSDN,看到 MailMessage的To属性为 MailAddressCollection,OK,看到Collection,大家都知道这是一个集合属性,会提供一个Add方法。因此上面兄弟的问题迎刃而解。
既然看到这里,那么索性做个完整的程序,当然在这里必须要提到的是,与System.Web.Mail中的另一点不同:
验证方式!在Web.Mail中,我们是使用Fields属性来进行验证。
在Net.Mail中,我们要使用SmtpClient类下的Credentials属性。具体做法参照一下代码(WinXP sp2,vs2005,测试成功
MailMessage mymm = new MailMessage();
mymm.From = new MailAddress("e-mail Addess From");
mymm.To.Add(new MailAddress("e-mail Address To 1"));
mymm.To.Add(new MailAddress("e-mail Address To 2"));
//在这里我只是设置了两个最基本的属性
mymm.Body = "test";
mymm.Subject = "test";
SmtpClient tmp = new SmtpClient("smtp.163.com", 25);
//验证的写法
tmp.Credentials = new System.Net.NetworkCredential("YourUserName", "yourpassword");
try
{
tmp.Send(mymm);
}
catch(Exception ex)
{
Console.Write(ex.Message);
}
PS:需要引用的空间
using System.Net.Mail;
using System.Net;