zoukankan      html  css  js  c++  java
  • 调用MailMessage发送邮件

        /// <summary>
        /// 邮件类
        /// </summary>
        public class SendMail
        {
            #region 私有变量
            private string fromEmail;
            private string fromPwd;
            private List<string> receiveEmail = new List<string>();
            private string subject;
            private string body;
            private string host;
            private int port;
            #endregion
    
            #region 公共变量
            /// <summary>
            /// 用于发送邮件的邮箱账号
            /// </summary>
            public string FromEmail
            {
                get { return fromEmail; }
                set { fromEmail = value; }
            }
    
            /// <summary>
            /// 用于发送邮件的邮箱密码
            /// </summary>
            public string FromPwd
            {
                get { return fromPwd; }
                set { fromPwd = value; }
            }
    
            /// <summary>
            /// 接收邮件的邮箱
            /// </summary>
            public List<string> ReceiveEmail
            {
                get { return receiveEmail; }
                set { receiveEmail = value; }
            }
    
            /// <summary>
            /// 邮件主题
            /// </summary>
            public string Subject
            {
                get { return subject; }
                set { subject = value; }
            }
    
            /// <summary>
            /// 邮件内容
            /// </summary>
            public string Body
            {
                get { return body; }
                set { body = value; }
            }
    
            /// <summary>
            /// SMTP服务的主机名称或IP地址
            /// </summary>
            public string Host
            {
                get { return host; }
                set { host = value; }
            }
    
            /// <summary>
            /// 端口号
            /// </summary>
            public int Port
            {
                get { return port; }
                set { port = value; }
            }
            #endregion
    
            #region 构造函数
            /// <summary>
            /// 构造 赋值
            /// </summary>
            public SendMail()
            {
                fromEmail = "";
           //这里应该为邮箱授权码 fromPwd = ""; subject = ""; body = "!"; host = ""; port = ; } #endregion #region 发送邮件 /// <summary> /// 发送邮件 /// </summary> /// <param name="errorMsg"></param> /// <param name="lstFileName">附件路径集合</param> /// <returns></returns> public bool Send(out string errorMsg, List<string> lstFileName = null) { errorMsg = string.Empty; try { MailMessage mailMsg = new MailMessage(); mailMsg.From = new MailAddress(fromEmail); mailMsg.Subject = subject; mailMsg.Body = body; if (receiveEmail.Count < 1) { errorMsg = "收件人为空"; return false; } foreach (string item in receiveEmail) { mailMsg.To.Add(item); } #region 添加附件 if (lstFileName != null) { foreach (var item in lstFileName) { mailMsg.Attachments.Add(new Attachment(item)); } } #endregion SmtpClient client = new SmtpClient(); client.Host = host; client.Port = port; client.Credentials = new NetworkCredential(fromEmail, fromPwd); client.EnableSsl = true; client.DeliveryFormat = System.Net.Mail.SmtpDeliveryFormat.International; client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; client.Send(mailMsg); } catch (Exception ex) { errorMsg = ex.Message; return false; } return true; } /// <summary> /// 异步发送邮件 /// </summary> ///<param name="lstFileName">附件路径集合</param> /// <param name="errorMsg"></param> public async Task<bool> SendAsync(List<string> lstFileName = null) { try { MailMessage mailMsg = new MailMessage(); mailMsg.From = new MailAddress(fromEmail); mailMsg.Subject = subject; mailMsg.Body = body; if (receiveEmail.Count < 1) { return false; } foreach (string item in receiveEmail) { mailMsg.To.Add(item); } #region 添加附件 if (lstFileName != null) { foreach (var item in lstFileName) { mailMsg.Attachments.Add(new Attachment(item)); } } #endregion SmtpClient client = new SmtpClient(); client.Host = host; client.Port = port; client.Credentials = new NetworkCredential(fromEmail, fromPwd); client.EnableSsl = true; await client.SendMailAsync(mailMsg); } catch { return false; } return true; } #endregion }

     注意,传过来的参数为附件的路径,并且这里的密码应为邮箱授权码。

  • 相关阅读:
    改变Ecplise项目窗口字体样式
    反射笔记
    日期、时间戳、字符串之间的转换
    Ajax处理后台返回的Json数据
    Ajax动态切换按钮
    生成随机数验证码
    Apache-SimpleEmail 简单应用
    Apache-POI 简单应用
    JavaMail API的应用
    checkbox怎么判断是否选中
  • 原文地址:https://www.cnblogs.com/TheBob/p/10404870.html
Copyright © 2011-2022 走看看