zoukankan      html  css  js  c++  java
  • Email工具类

    /// <summary>
        /// Email工具类
        /// </summary>
        public class MailUtils
        {
            #region Fields
            private string _userName;
            private string _userPassword;
            private string _host;
            private int _port;
            private SmtpClient smtp = null;
            #endregion

            #region Constructors
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="host">服务器地址(IP或域名)</param>
            /// <param name="userName">认证用户名</param>
            /// <param name="userPassword">认证密码</param>
            public MailUtils(string host, string userName, string userPassword)
            {
                smtp = new SmtpClient(host);
                Initialize(userName, userPassword);
            }

            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="host">服务器地址(IP或域名)</param>
            /// <param name="port">服务侦听端口</param>
            /// <param name="userName">认证用户名</param>
            /// <param name="userPassword">认证密码</param>
            public MailUtils(string host, int port, string userName, string userPassword)
            {
                smtp = new SmtpClient(host, port);
                Initialize(userName, userPassword);
            }
            #endregion

            #region Properties
            /// <summary>
            /// 认证用户名
            /// </summary>
            public string UserName
            {
                get { return _userName; }
                set { _userName = value; }
            }

            /// <summary>
            /// 认证密码
            /// </summary>
            public string UserPassword
            {
                get { return _userPassword; }
                set { _userPassword = value; }
            }

            /// <summary>
            /// 服务器地址(IP或域名)
            /// </summary>
            public string Host
            {
                get { return _host; }
                set { _host = value; }
            }

            /// <summary>
            /// 服务侦听端口
            /// </summary>
            public int Port
            {
                get { return _port; }
                set { _port = value; }
            }
            #endregion

            #region Instance Methods
            /// <summary>
            /// 初始化SMTP对象
            /// </summary>
            /// <param name="userName">认证用户名</param>
            /// <param name="userPassword">认证密码</param>
            public void Initialize(string userName, string userPassword)
            {
                smtp.UseDefaultCredentials = false;
                smtp.Credentials = new System.Net.NetworkCredential(userName, userPassword);
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                UserName = userName;
                UserPassword = userPassword;
            }

            /// <summary>
            /// 发送邮件
            /// </summary>
            /// <param name="strReceiver">收件人地址</param>
            /// <param name="strTitle">邮件标题</param>
            /// <param name="strContent">邮件内容</param>
            /// <returns></returns>
            public bool Send(string strReceiver, string strTitle, string strContent)
            {
                return Send(strReceiver, strTitle, strContent, null);
            }

            /// <summary>
            /// 发送邮件(可带附件)
            /// </summary>
            /// <param name="strReceiver">收件人地址</param>
            /// <param name="strSubject">邮件主题</param>
            /// <param name="strContent">邮件内容</param>
            /// <param name="strAttachmentPath">附件的物理地址</param>
            /// <returns></returns>
            public bool Send(string strReceiver, string strSubject, string strContent, string strAttachmentPath)
            {
                try
                {
                    MailMessage message = new MailMessage(UserName, strReceiver, strSubject, strContent);
                    message.BodyEncoding = System.Text.Encoding.UTF8;
                    if (strAttachmentPath != null && File.Exists(strAttachmentPath))
                    {
                        message.Attachments.Add(new Attachment(strAttachmentPath));
                    }
                    message.IsBodyHtml = true;
                    smtp.Send(message);
                    return true;
                }
                catch
                {
                    return false;
                }
            }
            #endregion

            #region Static Methods
            /// <summary>
            /// 发送邮件
            /// </summary>
            /// <param name="server">stmp服务器地址</param>
            /// <param name="user">用户名,包括@和域名的,这个要注意</param>
            /// <param name="pwd">密码</param>
            /// <param name="receiver">收件人地址</param>
            /// <param name="title">邮件标题</param>
            /// <param name="content">邮件内容</param>
            /// <returns></returns>
            public static bool Send(string server, string user, string pwd, string receiver, string title, string content)
            {
                return Send(server, user, pwd, receiver, title, content, null);
            }

            /// <summary>
            /// 发送邮件
            /// </summary>
            /// <param name="server">stmp服务器地址</param>
            /// <param name="user">用户名,包括@和域名的,这个要注意</param>
            /// <param name="pwd">密码</param>
            /// <param name="receiver">收件人地址</param>
            /// <param name="title">邮件标题</param>
            /// <param name="content">邮件内容</param>
            /// <param name="attachmentPath">附件的绝对路径</param>
            ///  <returns></returns>
            public static bool Send(string server, string user, string pwd, string receiver, string title, string content, string attachmentPath)
            {
                try
                {
                    SmtpClient smtp = new SmtpClient(server);
                    smtp.UseDefaultCredentials = false;
                    smtp.Credentials = new System.Net.NetworkCredential(user, pwd);
                    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                    MailMessage message = new MailMessage(user, receiver, title, content);
                    message.BodyEncoding = System.Text.Encoding.UTF8;
                    if (attachmentPath != null && System.IO.File.Exists(attachmentPath))
                    {
                        message.Attachments.Add(new Attachment(attachmentPath));
                    }
                    message.IsBodyHtml = true;
                    smtp.Send(message);
                    return true;

                }
                catch
                {
                    return false;
                }         
            }
            #endregion
        }

  • 相关阅读:
    Oracle的function存储函数简单实例
    Java保留小数点后两位,解决精度丢失问题
    天津贷款买房提取公积金相关问题
    Springboot配置连接两个数据库
    JDK8:Lambda根据 单个字段、多个字段,分组求和
    原生Ajax方式请求后端导出Excel,在浏览器页面显示下载Excel表(前端请求带header)
    Java实现 微信小程序 + 消息推送
    Centos7安装docker
    将博客搬至CSDN
    读书笔记——数学之美
  • 原文地址:https://www.cnblogs.com/xsmhero/p/1749697.html
Copyright © 2011-2022 走看看