c# 发送邮件

发送邮件帮助类

  1 using System;
  2 using System.Net.Mail;
  3 using System.Text;
  4 
  5 namespace Wxlhjc.Public
  6 {
  7     public class SendEmail
  8     {
  9         /// <summary>
 10         /// 发送者
 11         /// </summary>
 12         public string mailFrom { get; set; }
 13 
 14         /// <summary>
 15         /// 收件人
 16         /// </summary>
 17         public string[] mailToArray { get; set; }
 18 
 19         /// <summary>
 20         /// 抄送
 21         /// </summary>
 22         public string[] mailCcArray { get; set; }
 23 
 24         /// <summary>
 25         /// 标题
 26         /// </summary>
 27         public string mailSubject { get; set; }
 28 
 29         /// <summary>
 30         /// 正文
 31         /// </summary>
 32         public string mailBody { get; set; }
 33 
 34         /// <summary>
 35         /// 发件人密码
 36         /// </summary>
 37         public string mailPwd { get; set; }
 38 
 39         /// <summary>
 40         /// SMTP邮件服务器
 41         /// </summary>
 42         public string host { get; set; }
 43 
 44         /// <summary>
 45         /// 正文是否是html格式
 46         /// </summary>
 47         public bool isbodyHtml { get; set; }
 48 
 49         /// <summary>
 50         /// 附件
 51         /// </summary>
 52         public string[] attachmentsPath { get; set; }
 53 
 54         public bool Send()
 55         {
 56             //使用指定的邮件地址初始化MailAddress实例
 57             MailAddress maddr = new MailAddress(mailFrom);
 58             //初始化MailMessage实例
 59             MailMessage myMail = new MailMessage();
 60 
 61 
 62             //向收件人地址集合添加邮件地址
 63             if (mailToArray != null)
 64             {
 65                 for (int i = 0; i < mailToArray.Length; i++)
 66                 {
 67                     myMail.To.Add(mailToArray[i].ToString());
 68                 }
 69             }
 70 
 71             //向抄送收件人地址集合添加邮件地址
 72             if (mailCcArray != null)
 73             {
 74                 for (int i = 0; i < mailCcArray.Length; i++)
 75                 {
 76                     myMail.CC.Add(mailCcArray[i].ToString());
 77                 }
 78             }
 79             //发件人地址
 80             myMail.From = maddr;
 81 
 82             //电子邮件的标题
 83             myMail.Subject = mailSubject;
 84 
 85             //电子邮件的主题内容使用的编码
 86             myMail.SubjectEncoding = Encoding.UTF8;
 87 
 88             //电子邮件正文
 89             myMail.Body = mailBody;
 90 
 91             //电子邮件正文的编码
 92             myMail.BodyEncoding = Encoding.Default;
 93 
 94             myMail.Priority = MailPriority.High;
 95 
 96             myMail.IsBodyHtml = isbodyHtml;
 97 
 98             //在有附件的情况下添加附件
 99             try
100             {
101                 if (attachmentsPath != null && attachmentsPath.Length > 0)
102                 {
103                     Attachment attachFile = null;
104                     foreach (string path in attachmentsPath)
105                     {
106                         attachFile = new Attachment(path);
107                         myMail.Attachments.Add(attachFile);
108                     }
109                 }
110             }
111             catch (Exception err)
112             {
113                 throw new Exception("在添加附件时有错误:" + err);
114             }
115 
116             SmtpClient smtp = new SmtpClient();
117             //指定发件人的邮件地址和密码以验证发件人身份
118             smtp.Credentials = new System.Net.NetworkCredential(mailFrom, mailPwd);
119 
120 
121             //设置SMTP邮件服务器
122             smtp.Host = host;
123             smtp.EnableSsl = true;
124             try
125             {
126                 //将邮件发送到SMTP邮件服务器
127                 smtp.Send(myMail);
128                 return true;
129 
130             }
131             catch (System.Net.Mail.SmtpException ex)
132             {
133                 return false;
134             }
135 
136         }
137     }
138 }

调用方法

 1  /// <summary>
 2         /// 发送密码至邮件
 3         /// </summary>
 4         /// <param password="password">新密码</param>
 5         /// <returns></returns>
 6         public bool SendEmail(string appName, string emailId, string newPassWord)
 7         {
 8             SendEmail email = new SendEmail();
 9             email.mailFrom = "xxxx@163.com";
10             email.mailPwd = "*******";
11             email.mailSubject = "找回密码";
12             string url = "http:/baidu.com";
13             email.mailBody = "<div style='100%;height:200px;'><div style='font-size:15px;background-color:#FFF1B4;'>您好,您在:<span style='color:#428bca;'>" + appName + "</span>找回密码,请记住验证码:<span>" + newPassWord + ",验证码30分钟内有效。";
14             email.mailBody += "请打开此链接重设密码:<a href='" + url + "'>'" + url + "'</a>(如果无法点击该URL链接地址,请将它复制并粘帖到浏览器的地址输入框,然后单击回车即可。)</span></div></div>";
15             email.isbodyHtml = true;    //是否是HTML
16             email.host = "smtp.163.com";//如果是QQ邮箱则:smtp:qq.com,依次类推
17             email.mailToArray = new string[] { emailId };//接收者邮件集合
18             return email.Send();
19         }
原文地址:https://www.cnblogs.com/pxkuan/p/10042919.html