邮件发送类

  

    public class EmailHelper
    {
        #region 私有对象

        private SmtpClient smtpClient = null;   //设置SMTP协议
        private MailAddress mailAddressFrom = null; //设置发信人地址  当然还需要密码
        private MailMessage mailMessage = null;
        private string filePath = null;

        #endregion

        /// <summary>
        /// 构造函数
        /// </summary>
        public EmailHelper(string host,string user,string pwd,string title, string port, string timeout, string filepath)
        {
            try
            {
                smtpClient = new SmtpClient();
                指定SMTP服务名  例如QQ邮箱为 smtp.qq.com 新浪cn邮箱为 smtp.sina.cn等
                //smtpClient.Host = ConfigurationManager.AppSettings["SmtpServerHost"];
                指定端口号
                //smtpClient.Port = int.Parse(ConfigurationManager.AppSettings["SmtpServerPort"]);
                超时时间
                //smtpClient.Timeout = int.Parse(ConfigurationManager.AppSettings["Timeout"]);
                附件地址
                //filePath = ConfigurationManager.AppSettings["EmailFilePath"];
                //string sendEmailAddress = ConfigurationManager.AppSettings["SendEmailAddress"];
                //string sendEmailPassword = ConfigurationManager.AppSettings["SendEmailPassword"];
                //string displayEmailName = ConfigurationManager.AppSettings["DisplayEmailName"];



                smtpClient.Host = host;
                //指定端口号
                smtpClient.Port = int.Parse(port);
                //超时时间
                smtpClient.Timeout = int.Parse(timeout);
                //附件地址
                filePath = filepath;
                //邮件对象
                mailMessage = new MailMessage();
                //创建服务器认证
                string sendEmailAddress = user;
                string sendEmailPassword = pwd;
                string displayEmailName = title;
                NetworkCredential networkCredential = new NetworkCredential(sendEmailAddress, displayEmailName);
                //实例化发件人地址
                mailAddressFrom = new System.Net.Mail.MailAddress(sendEmailAddress, sendEmailAddress);
                //指定发件人信息  包括邮箱地址和邮箱密码
                smtpClient.Credentials = new System.Net.NetworkCredential(mailAddressFrom.Address, sendEmailPassword);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        /// <summary>
        /// 发送邮件
        /// </summary>
        public void Send(string target, string title, string content)
        {
            try
            {
                if (mailMessage != null)
                {
                    mailMessage.To.Clear();
                }
                //string[] targetEmail = ConfigurationManager.AppSettings["TargetEmailAddress"].Split(',');
                string[] targetEmail = target.Split(',');

                if (targetEmail.Length > 0)
                {
                    foreach (var email in targetEmail)
                    {
                        mailMessage.To.Add(new MailAddress(email));
                    }
                    //发件人邮箱
                    mailMessage.From = mailAddressFrom;
                    //邮件主题
                    mailMessage.Subject = title;
                    mailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
                    //邮件正文
                    mailMessage.Body = content;
                    mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
                    //清空历史附件  以防附件重复发送
                    mailMessage.Attachments.Clear();
                    //添加附件
                    mailMessage.Attachments.Add(new Attachment(filePath, MediaTypeNames.Application.Octet));
                    //开始发送邮件
                    smtpClient.Send(mailMessage);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值