asp.net 发送邮件

//引用
using System.Text;

namespace JOYHEN.CommonMessage.NetMessage
{
    /// <summary>
    ///  asp.net发送邮件
    /// </summary>
    public class SysMailMessage
    {
        private string _subject;
        private string _body;
        private string _from;
        private string _fromName;
        private string _recipientName;
        private string _mailDomain;
        private int _mailserverport;
        private string _username;
        private string _password;
        private bool _html;
        private string _recipient;
        private string _attachMentPath;

        /// <summary>
        /// 主题
        /// </summary>
        public string Subject
        {
            get { return this._subject; }
            set { this._subject = value; }
        }

        /// <summary>
        /// 正文
        /// </summary>
        public string Body
        {
            get { return this._body; }
            set { this._body = value; }
        }
        /// <summary>
        /// 发件人地址
        /// </summary>
        public string From
        {
            get { return _from; }
            set { this._from = value; }
        }
        /// <summary>
        /// 发件人姓名
        /// </summary>
        public string FromName
        {
            get { return this._fromName; }
            set { this._fromName = value; }
        }
        /// <summary>
        /// 收件人姓名
        /// </summary>
        public string RecipientName
        {
            get { return this._recipientName; }
            set { this._recipientName = value; }
        }
        /// <summary>
        /// 邮箱域
        /// </summary>
        public string MailDomain
        {
            get { return this._mailDomain; }
            set { this._mailDomain = value; }
        }

        /// <summary>
        /// 邮件服务器端口号
        /// </summary>	
        public int MailDomainPort
        {
            set { this._mailserverport = value; }
            get { return this._mailserverport; }
        }
        /// <summary>
        /// SMTP认证用户名
        /// </summary>
        public string MailServerUserName
        {
            set { this._username = value.Trim() != "" ? value.Trim() : ""; }
            get { return _username; }
        }
        /// <summary>
        /// SMTP认证密码
        /// </summary>
        public string MailServerPassWord
        {
            set { this._password = value; }
            get { return _password; }
        }
        /// <summary>
        ///  是否Html邮件
        /// </summary>
        public bool Html
        {
            get { return this._html; }
            set { this._html = value; }
        }
        /// <summary>
        /// 收件人的邮箱地址
        /// </summary>
        /// <param name="username"></param>
        /// <returns></returns>
        public bool AddRecipient(params string[] username)
        {
            this._recipient = username[0].Trim();
            return true;
        }
        /// <summary>
        /// 附件
        /// </summary>
        /// <remarks>多个附件路径以分号隔开</remarks>
        public string AttachMentPath
        {
            get { return this._attachMentPath; }
            set { this._attachMentPath = value; }
        }

        /// <summary>
        /// 发送
        /// </summary>
        /// <returns></returns>
        public bool Send()
        {
            System.Net.Mail.MailMessage myEmail = new System.Net.Mail.MailMessage();
            Encoding eEncod = Encoding.GetEncoding("utf-8");
            myEmail.From = new System.Net.Mail.MailAddress(this.From, this.Subject, eEncod);
            myEmail.To.Add(this._recipient);
            myEmail.Subject = this.Subject;
            myEmail.IsBodyHtml = true;
            myEmail.Body = this.Body;
            myEmail.Priority = System.Net.Mail.MailPriority.Normal;
            myEmail.BodyEncoding = Encoding.GetEncoding("utf-8");
            if (!string.IsNullOrWhiteSpace(this.AttachMentPath))
            {
                string[] arrAttach = this.AttachMentPath.Split(';');//拆分附件
                for (int i = 0; i < arrAttach.Length; i++)
                {
                    System.Net.Mail.Attachment mailAttach = new System.Net.Mail.Attachment(arrAttach[i]);
                    myEmail.Attachments.Add(mailAttach);
                }
            }

            System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
            smtp.Host = this.MailDomain;
            smtp.Port = this.MailDomainPort;
            smtp.Credentials = new System.Net.NetworkCredential(this.MailServerUserName, this.MailServerPassWord);

            //当不是25端口(gmail:587)
            if (this.MailDomainPort != 25)
            {
                smtp.EnableSsl = true;
            }

            try
            {
                smtp.Send(myEmail);
            }
            catch (System.Net.Mail.SmtpException e)
            {
                return false;
            }

            return true;
        }
    }
}
如有不明白的地方欢迎加QQ群 14670545 探讨

你可能感兴趣的:(asp.net发送邮件,c#邮件)