引用:
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Mail; using System.Text;
EMailHepler类:
public static class EmailHelper { /// <summary> /// C#发送邮件函数 /// </summary> /// <param name="fromDisplayName">发件邮箱显示名</param> /// <param name="sto">收件邮箱</param> /// <param name="sSubject">主题</param> /// <param name="sBody">内容</param> /// <param name="sfiles">附件路径,绝对路径</param> /// <param name="ccto">抄送地址</param> /// <param name="isBodyHtml">邮件是否支持html格式</param> /// <returns></returns> public static bool Sendmail(string fromDisplayName, string sto, string sSubject, string sBody, string[] sfiles = null, string[] ccto = null, bool isBodyHtml = false) { ////设置from和to地址 MailAddress from = new MailAddress(EmailSection.Instance.SMTPuser, fromDisplayName); MailAddress to = new MailAddress(sto); ////创建一个MailMessage对象 MailMessage oMail = new MailMessage(from, to); //// 添加附件 if (sfiles != null) { foreach (var item in sfiles) { oMail.Attachments.Add(new Attachment(item)); } } //添加抄送用户 if (ccto != null) { foreach (var item in ccto) { oMail.CC.Add(new MailAddress(item)); } } ////邮件标题 oMail.Subject = sSubject; ////邮件内容 oMail.Body = sBody; ////邮件格式 oMail.IsBodyHtml = isBodyHtml; ////邮件采用的编码 oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312"); ////设置邮件的优先级为高 oMail.Priority = MailPriority.Normal; ////发送邮件 SmtpClient client = new SmtpClient(); ////client.UseDefaultCredentials = false; client.Host = EmailSection.Instance.SMTPHost; client.Credentials = new NetworkCredential(EmailSection.Instance.SMTPuser, EmailSection.Instance.SMTPpass); client.DeliveryMethod = SmtpDeliveryMethod.Network; try { client.Send(oMail); return true; } catch (Exception err) { Console.WriteLine(err.Message.ToString()); return false; } finally { ////释放资源 oMail.Dispose(); } } }
EmailSection配置相关信息:
public class EmailSection : ConfigurationSection { private static EmailSection _instance = null; public static EmailSection Instance { get { if (_instance == null) { _instance = (EmailSection)ConfigurationManager.GetSection(typeof(EmailSection).Name); } return _instance; } } [ConfigurationProperty("SMTPHost", IsRequired = true)] public string SMTPHost { get { return (String)this["SMTPHost"]; } set { this["SMTPHost"] = value; } } [ConfigurationProperty("SMTPuser", IsRequired = true)] public string SMTPuser { get { return (String)this["SMTPuser"]; } set { this["SMTPuser"] = value; } } [ConfigurationProperty("SMTPpass", IsRequired = true)] public string SMTPpass { get { return (String)this["SMTPpass"]; } set { this["SMTPpass"] = value; } } }
配置文件配置:
<EmailSection SMTPHost = "smtp.exmail.qq.com" SMTPuser = "developer@laiyihuo.com" SMTPpass = "laiyihuo_1"></EmailSection>