IT源码网

C# 邮件发送

lxf 2021年05月15日 编程语言 407 0
    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.EnableSsl = true; 
            smtp.UseDefaultCredentials = false; 
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式       
            //指定发件人的邮件地址和密码以验证发件人身份 
            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; 
            } 
 
        } 
    }

用法:

  public static void MailSend() 
        { 
            Email email = new Email(); 
            email.mailFrom = "00000@qq.com"; 
            email.mailPwd = "aaaaaa"; 
            email.mailSubject = "邮件主题"; 
            email.mailBody = "邮件内容"; 
            email.isbodyHtml = true;    //是否是HTML 
            email.host = "smtp.qq.com";//如果是QQ邮箱则:smtp.qq.com,依次类推 smtp.126.com 
            email.mailToArray = new string[] { "aaaaaa@126.com" };//接收者邮件集合 
            //email.mailCcArray = new string[] { "******@qq.com" };//抄送者邮件集合 
            if (email.Send()) 
            { 
                Console.WriteLine("<script type='text/javascript'>alert('发送成功!');history.go(-1)</script>");//发送成功则提示返回当前页面; 
                //Response.Write("<script type='text/javascript'>alert('发送成功!');history.go(-1)</script>");//发送成功则提示返回当前页面; 
 
            } 
            else 
            { 
                Console.WriteLine("<script type='text/javascript'>alert('发送失败!');history.go(-1)</script>"); 
                //Response.Write("<script type='text/javascript'>alert('发送失败!');history.go(-1)</script>"); 
            } 
        }

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

DES加密/解密类。