码迷,mamicode.com
首页 > Windows程序 > 详细

C# 发送邮件3

时间:2016-03-31 12:52:07      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

  这篇文章主要介绍如何使用C#的MailAddress类进行邮件的发送。

  1.首先引入命名空间using System.Net.Mail;

  2.将发送的邮件的功能封装成一个类,该类中包含了发送邮件的基本功能:收件人(多人),抄送(多人),发送人,主题,邮件正文,附件等,封装的Email类如下:

技术分享
 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.页面调用发送邮件的类

技术分享
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>");             }         }
技术分享

  

  以上就完成了在C#中如何发送邮件。

  点击下载Demo

 

C# 发送邮件3

标签:

原文地址:http://www.cnblogs.com/dullbaby/p/5340631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!