郵件發送封裝方法

 1 /// <summary>
 2         /// 發送郵件
 3         /// </summary>
 4         /// <param name="subject">標題</param>
 5         /// <param name="body">內容</param>
 6         /// <param name="to">收件人</param>
 7         /// <param name="filePaths">附件路徑</param>
 8         /// <param name="cc">抄送人</param>
 9         public static void SendMail(string subject, string body, List<string> to, List<string> filePaths = null, List<string> cc = null)
10         {
11             string host = ConfigurationManager.AppSettings["Smtp.Host"];
12             string port = ConfigurationManager.AppSettings["Smtp.Port"] ?? "25";
13             string account = ConfigurationManager.AppSettings["Smtp.Account"];
14             string password = ConfigurationManager.AppSettings["Smtp.Password"];
15             string from = ConfigurationManager.AppSettings["Smtp.From"];
16             string EnableSsl = ConfigurationManager.AppSettings["EnableSsl"] ?? "false";
17 
18             SmtpClient client = new SmtpClient(host, Convert.ToInt32(port));
19             client.DeliveryMethod = SmtpDeliveryMethod.Network;
20             client.Credentials = new NetworkCredential(account, password);
21 
22             client.EnableSsl = Convert.ToBoolean(EnableSsl);
23 
24             MailMessage mailMessage = new MailMessage() { From = new MailAddress(from) };
25             if (filePaths != null)
26             {
27                 foreach (var path in filePaths)
28                 {
29                     System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(path);
30                     mailMessage.Attachments.Add(attach);
31                 }
32             }
33 
34             mailMessage.Subject = subject;    //主題
35             mailMessage.Body = body;    //正文
36 
37             foreach (var addr in to)
38             {
39                 //收件人郵箱地址
40                 mailMessage.To.Add(new MailAddress(addr));
41             }
42 
43             if (cc != null)
44             {
45                 foreach (string addr in cc)
46                 {
47                     mailMessage.CC.Add(addr);
48                 }
49             }
50 
51             mailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
52             mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
53             mailMessage.IsBodyHtml = true;
54 
55             client.Timeout = 10000;
56             client.Send(mailMessage);
57 
58         }
相關文章
相關標籤/搜索