C#发送邮件
- 其他
- 2025-08-26 13:57:01

基础调用类:
public class EmailHelper { /// <summary> /// 发件人名称 /// </summary> public string MailName { get; set; } /// <summary> /// 收件人 /// </summary> public string MailTo { get; set; } /// <summary> /// 密送 /// </summary> public string MailBCC { get; set; } /// <summary> /// 抄送 /// </summary> public string MailCC { get; set; } /// <summary> /// 主题 /// </summary> public string MailSubject { get; set; } /// <summary> /// 内容 /// </summary> public string MailHTMLBody { get; set; } /// <summary> /// 附加 /// </summary> public string MailAttachments { get; set; } public string MailAttachments2 { get; set; }//第二个附件 public bool Send(ref string message) { try { //發送郵件 MailMessage myEmail = new MailMessage(); myEmail.From = new MailAddress(string.Format("{0}@xxxxx ", MailName));//mail from //myEmail.To.Add(new MailAddress(MailTo)); string[] MailToAll = MailTo.Split(';'); for (int i = 0; i < MailToAll.Length; i++) { myEmail.To.Add(new MailAddress(MailToAll[i])); } // 設定密送 2022-10-21 tom if (!string.IsNullOrEmpty(MailBCC)) { string[] MailBCCAll = MailBCC.Split(';'); for (int i = 0; i < MailBCCAll.Length; i++) { myEmail.Bcc.Add(new MailAddress(MailBCCAll[i])); } } myEmail.Subject = MailSubject;//郵件主題 if (MailAttachments != null) { myEmail.Attachments.Add(new Attachment(MailAttachments)); } //myEmail.Attachments.Add(new Attachment(MailAttachments)); if (MailAttachments2 != null) { myEmail.Attachments.Add(new Attachment(MailAttachments2)); } AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(MailHTMLBody, null, "text/html"); myEmail.AlternateViews.Add(htmlBody); myEmail.BodyEncoding = Encoding.UTF8; //編碼格式 myEmail.Priority = MailPriority.Normal; //重要性 SmtpClient smtp = new SmtpClient(); smtp.UseDefaultCredentials = true; smtp.Port = 25; smtp.Host = "10.3.1.1"; smtp.EnableSsl = false; smtp.Send(myEmail); message = "发送成功"; return true; } catch (System.Exception ex) { message = ex.ToString(); return false; } } }调用类:
//郵件發送 public bool emails(string MailFrom, string MailTo, string MailSubject, string Content, string FilePath) { try { EmailHelper EMAIL = new EmailHelper(); messageString = "生成成功"; EMAIL.MailName = MailFrom + System.DateTime.Now.ToString("yyyyMMdd"); EMAIL.MailTo = MailTo; //EMAIL.MailTo = mEmailResult; //EMAIL.MailCC = "Kay@xxxxx ;"; //EMAIL.MailBCC = "Kay@xxxxx "; EMAIL.MailSubject = MailSubject + DateTime.Now.ToString("yyyy-MM-dd"); EMAIL.MailHTMLBody = "<table>"; EMAIL.MailHTMLBody = "<table><tr><td>Dear Sirs:</td></tr><tr><td> </td></tr><tr><td style='color:red'>" + Content + "</td></tr>"; EMAIL.MailHTMLBody += "<tr><td><span style='background:aqua;mso-highlight:aqua'></span></td></tr></table>"; //EMAIL.MailAttachments = fileName; EMAIL.MailAttachments = FilePath; resultBool = EMAIL.Send(ref messageString); return true; if (!resultBool) { messageString = "郵件發送失敗!" + messageString; return false; } } catch (Exception ex) { return false; } }实例:
string filePath = "产量.xlsx"; // 替换为你的文件路径 MailFrom = "Information";//发件人 MailTo = "Kay@xxxxx ;Dai@xxxxx ";//收件人 MailSubject = "测试数据";//主题 Content ="" +Line_N + "-每小时产量.xlsx 附件,请查收!";//附件 if (emails(MailFrom, MailTo, MailSubject, Content, filePath)) { MessageBox.Show("发送成功"); } else { MessageBox.Show("发送失败"); }以上代码可以在项目中添加一个按钮进行测试。
结语:本文主要分享如何用C#代码发送信息给邮件,亲测可用。