源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#使用MailAddress类发送html格式邮件的实例代码

  • 时间:2020-11-01 18:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#使用MailAddress类发送html格式邮件的实例代码
1.首先引入命名空间using System.Net.Mail; 2.将发送的邮件的功能封装成一个类,该类中包含了发送邮件的基本功能:收件人(多人),抄送(多人),发送人,主题,邮件正文,附件等,封装的Email类如下:
[u]复制代码[/u] 代码如下:
public class Email     {         /// <summary>         /// 发送者         /// </summary>         public string mailFrom { get; set; }         /// <summary>         /// 收件人         /// </summary>         public string[] mailToArray { get; set; }         /// <summary>         /// 抄送         /// </summary>         public string[] mailCcArray { get; set; }         /// <summary>         /// 标题         /// </summary>         public string mailSubject { get; set; }         /// <summary>         /// 正文         /// </summary>         public string mailBody { get; set; }         /// <summary>         /// 发件人密码         /// </summary>         public string mailPwd { get; set; }         /// <summary>         /// SMTP邮件服务器         /// </summary>         public string host { get; set; }         /// <summary>         /// 正文是否是html格式         /// </summary>         public bool isbodyHtml { get; set; }         /// <summary>         /// 附件         /// </summary>         public string[] attachmentsPath { get; set; }         public bool Send()         {             //使用指定的邮件地址初始化MailAddress实例             MailAddress maddr = new MailAddress(mailFrom);             //初始化MailMessage实例             MailMessage myMail = new MailMessage();             //向收件人地址集合添加邮件地址             if (mailToArray != null)             {                 for (int i = 0; i < mailToArray.Length; i++)                 {                     myMail.To.Add(mailToArray[i].ToString());                 }             }             //向抄送收件人地址集合添加邮件地址             if (mailCcArray != null)             {                 for (int i = 0; i < mailCcArray.Length; i++)                 {                     myMail.CC.Add(mailCcArray[i].ToString());                 }             }             //发件人地址             myMail.From = maddr;             //电子邮件的标题             myMail.Subject = mailSubject;             //电子邮件的主题内容使用的编码             myMail.SubjectEncoding = Encoding.UTF8;             //电子邮件正文             myMail.Body = mailBody;             //电子邮件正文的编码             myMail.BodyEncoding = Encoding.Default;             myMail.Priority = MailPriority.High;             myMail.IsBodyHtml = isbodyHtml;             //在有附件的情况下添加附件             try             {                 if (attachmentsPath != null && attachmentsPath.Length > 0)                 {                     Attachment attachFile = null;                     foreach (string path in attachmentsPath)                     {                         attachFile = new Attachment(path);                         myMail.Attachments.Add(attachFile);                     }                 }             }             catch (Exception err)             {                 throw new Exception("在添加附件时有错误:" + err);             }             SmtpClient smtp = new SmtpClient();             //指定发件人的邮件地址和密码以验证发件人身份             smtp.Credentials = new System.Net.NetworkCredential(mailFrom, mailPwd);             //设置SMTP邮件服务器             smtp.Host = host;             try             {                 //将邮件发送到SMTP邮件服务器                 smtp.Send(myMail);                 return true;             }             catch (System.Net.Mail.SmtpException ex)             {                 return false;             }         }     }
3.页面调用发送邮件的类
[u]复制代码[/u] 代码如下:
protected void Send_Click(object sender, EventArgs e)         {             Email email = new Email();             email.mailFrom = "发送人的邮箱地址";             email.mailPwd = "发送人邮箱的密码";             email.mailSubject = "邮件主题";             email.mailBody = "邮件内容";             email.isbodyHtml = true;    //是否是HTML             email.host = "smtp.126.com";//如果是QQ邮箱则:smtp:qq.com,依次类推             email.mailToArray = new string[] { "******@qq.com","12345678@qq.com"};//接收者邮件集合             email.mailCcArray = new string[] { "******@qq.com" };//抄送者邮件集合             if (email.Send())             {                 Response.Write("<script type='text/javascript'>alert('发送成功!');history.go(-1)</script>");//发送成功则提示返回当前页面;             }             else             {                 Response.Write("<script type='text/javascript'>alert('发送失败!');history.go(-1)</script>");             }         }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部