第一篇随笔之简单实现发送邮件

   小菜的第一篇学习笔记随笔,用来记录自己的学习历程,并且供以后温习知识做备用。大虾莫笑

1.新建一个web窗体,sendmail.aspx。

实现发送邮件功能主要用到MailMessage和SmtpClient 2个类(需引用using System.Net.Mail命名空间)。

2.sendmail.cs代码如下:

View Code
 1  protected void Page_Load(object sender, EventArgs e)
 2     {
 3         if (send())//发送成功,则写log
 4         {
 5             StreamWriter sw = new StreamWriter(@"E:\log.txt",true);//第二个参数为true,可以追加log
 6             string time = DateTime.Now.ToString();
 7             sw.WriteLine("发送邮件的时间:{0}", time);
 8             sw.Close();
 9 
10             Response.Write("<script>alert('sucess')</script>");
11         }
12     }
13 
14     public MailMessage information(string to,string from,string cc,string bcc,string attach,string subject,string body)
15     {
16         MailMessage mm = new MailMessage(from, to, subject, body);//参数为发件地址,收件地址,主题,内容
17         mm.Attachments.Add(new Attachment(attach));//Attachments.Add(参数为Attachment类型),attach为附件地址
18         mm.CC.Add(cc);//抄送
19         mm.Bcc.Add(bcc);//密件抄送
20         mm.SubjectEncoding = System.Text.Encoding.UTF8;//UTF-8是UNICODE的一种变长字符编码
21         mm.BodyEncoding = System.Text.Encoding.UTF8;//
22         mm.Priority = MailPriority.Normal;//优先级
23         mm.IsBodyHtml = true;
24         return mm;
25     }
26     public bool send()
27     {
28         SmtpClient sc = new SmtpClient("smtp.qq.com", 25);//此构造方法有3个重载,此处的2个参数依次是:包含smtp服务的IP地址和端口(这里用的是qq的smtp)
29         sc.Credentials = new System.Net.NetworkCredential("3xxx@qq.com", "zhanxxx");//参数为发件邮箱用户名和密码
30         try
31         {
32             //将指定的邮件发送到smtp服务器以便传递,参数为MailMessage对象
33             sc.Send(information("lansxxx@126.com", "3xxx@qq.com", "lansxxx@126.com", "3xxx@qq.com", @"E:\qq.txt", "测试主题", "测试内容"));
34             return true;
35         }
36         catch
37         {
38             return false;
39         }
40     }
posted @ 2012-09-05 22:04  SKY_LEO  阅读(158)  评论(0)    收藏  举报