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 }