• 邮件操作类


    /// <summary>
     /// 电子邮件操作类。
     /// </summary>
         public class Mail
         {
             /// <summary>
     /// 初始化一个电子邮件操作类的空实例。
     /// </summary>
             public Mail()
             {
             }
             /// <summary>
     /// 初始化一个电子邮件操作类的实例。
     /// </summary>
     /// <param name="from">发件人的电子邮件地址。</param>
     /// <param name="fromName">发件人的姓名。</param>
     /// <param name="recipient">收件人的电子邮件地址。</param>
     /// <param name="recipientName">收件人的姓名。</param>
     /// <param name="subject">电子邮件的主题。</param>
     /// <param name="body">电子邮件的内容。</param>
     /// <param name="host">电子邮件的服务器地址。</param>
     /// <param name="port">电子邮件的主机端口号。</param>
     /// <param name="username">登录电子邮件服务器的用户名。</param>
     /// <param name="password">登录电子邮件服务器的用户密码。</param>
     /// <param name="isBodyHtml">邮件的正文是否是HTML格式。</param>
     /// <param name="file">邮件附件的文件路径。</param>
             public Mail(string from, string fromName, string recipient, string recipientName, string subject, string body, string host, int port, string username, string password, bool isBodyHtml, string filepath)
             {
                 this._from = from;
                 this._fromName = fromName;
                 this._recipient = recipient;
                 this._recipientName = recipientName;
                 this._subject = subject;
                 this._body = body;
                 this._serverHost = host;
                 this._serverPort = port;
                 this._username = username;
                 this._password = password;
                 this._isBodyHtml = isBodyHtml;
                 this._attachment.Add(filepath);
             }
             /// <summary>
     /// 初始化一个电子邮件操作类的实例。
     /// </summary>
     /// <param name="from">发件人的电子邮件地址。</param>
     /// <param name="fromName">发件人的姓名。</param>
     /// <param name="recipient">收件人的电子邮件地址。</param>
     /// <param name="recipientName">收件人的姓名。</param>
     /// <param name="subject">电子邮件的主题。</param>
     /// <param name="body">电子邮件的内容。</param>
     /// <param name="host">电子邮件的服务器地址。</param>
     /// <param name="port">电子邮件的主机端口号。</param>
     /// <param name="username">登录电子邮件服务器的用户名。</param>
     /// <param name="password">登录电子邮件服务器的用户密码。</param>
     /// <param name="isBodyHtml">邮件的正文是否是HTML格式。</param>
             public Mail(string from, string fromName, string recipient, string recipientName, string subject, string body, string host, int port, string username, string password, bool isBodyHtml)
                 : this(from, fromName, recipient, recipientName, subject, body, host, 25, username, password, isBodyHtml, null)
             {
             }
     
             /// <summary>
     /// 初始化一个电子邮件操作类的实例。
     /// </summary>
     /// <param name="from">发件人的电子邮件地址。</param>
     /// <param name="fromName">发件人的姓名。</param>
     /// <param name="recipient">收件人的电子邮件地址。</param>
     /// <param name="recipientName">收件人的姓名。</param>
     /// <param name="subject">电子邮件的主题。</param>
     /// <param name="body">电子邮件的内容。</param>
     /// <param name="host">电子邮件的服务器地址。</param>
     /// <param name="port">电子邮件的主机端口号。</param>
     /// <param name="username">登录电子邮件服务器的用户名。</param>
     /// <param name="password">登录电子邮件服务器的用户密码。</param>
     /// <param name="isBodyHtml">邮件的正文是否是HTML格式。</param>
             public Mail(string from, string fromName, string recipient, string recipientName, string subject, string body, string host,  string username, string password)
                 : this(from, fromName, recipient, recipientName, subject, body, host, 25, username, password, false, null)
             {
             }
             /// <summary>
     /// 初始化一个电子邮件操作类的实例(邮件的正文非HTML格式,端口默认25)。
     /// </summary>
     /// <param name="from">发件人的电子邮件地址。</param>
     /// <param name="recipient">收件人的电子邮件地址。</param>
     /// <param name="subject">电子邮件的主题。</param>
     /// <param name="body">电子邮件的内容。</param>
     /// <param name="host">电子邮件的服务器地址。</param>
     /// <param name="username">登录电子邮件服务器的用户名。</param>
     /// <param name="password">登录电子邮件服务器的用户密码。</param>
     /// <param name="isBodyHtml">邮件的正文是否是HTML格式。</param>
             public Mail(string from, string recipient,  string subject, string body, string host, string username, string password)
                 : this(from, null, recipient, null, subject, body, host, 25, username, password, false, null)
             {
             }
             /// <summary>
     /// 初始化一个电子邮件操作类的实例(邮件的正文非HTML格式,端口默认25)。
     /// </summary>
     /// <param name="from">发件人的电子邮件地址。</param>
     /// <param name="recipient">收件人的电子邮件地址。</param>
     /// <param name="subject">电子邮件的主题。</param>
     /// <param name="body">电子邮件的内容。</param>
     /// <param name="port">电子邮件的主机端口号。</param>
     /// <param name="host">电子邮件的服务器地址。</param>
     /// <param name="username">登录电子邮件服务器的用户名。</param>
     /// <param name="password">登录电子邮件服务器的用户密码。</param>
             public Mail(string from, string recipient, string subject, string body, string host, int port, string username, string password)
                 : this(from, null, recipient, null, subject, body, host, port, username, password, false, null)
             {
             }
     
             private string _subject;
             private string _body;
             private string _from;
             private string _fromName;
             private string _recipientName;
             private string _serverHost;
             private int _serverPort;
             private string _username;
             private string _password;
             private bool _isBodyHtml;
             private string _recipient;
             private List<string> _attachment = new List<string> { };
     
             /// <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 this._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 Recipient
             {
                 get { return this._recipient; }
                 set { this._recipient = value; }
             }
     
             /// <summary>
     /// 获取或设置邮件服务器主机地址。
     /// </summary>
             public string ServerHost
             {
                 get { return this._serverHost; }
                 set { this._serverHost = value; }
             }
     
             /// <summary>
     /// 获取或设置邮件服务器的端口号。
     /// </summary>
             public int ServerPort
             {
                 set { this._serverPort = value; }
                 get { return this._serverPort; }
             }
     
     
             /// <summary>
     /// 获取或设置SMTP认证时使用的用户名。
     /// </summary>
             public string Username
             {
                 get { return this._username; }
                 set
                 {
                     if (value.Trim() != "")
                     {
                         this._username = value.Trim();
                     }
                     else
                     {
                         this._username = "";
                     }
                 }
             }
     
             /// <summary>
     /// 获取或设置SMTP认证时使用的密码。
     /// </summary>
             public string Password
             {
                 set { this._password = value; }
                 get { return this._password; }
             }
     
             /// <summary>
     /// 获取或设置指示邮件正文是否为 Html 格式的值。
     /// </summary>
             public bool IsBodyHtml
             {
                 get { return this._isBodyHtml; }
                 set { this._isBodyHtml = value; }
             }
     
             /// <summary>
     /// 获取电子邮件附件。
     /// </summary>
             public List<string> Attachment
             {
                 get { return this._attachment; }
                 set { this._attachment = value; }
             }
     
             ///// <summary>
     ///// 添加一个收件人的邮箱地址。
     ///// </summary>
     ///// <param name="mailList">联系人列表。</param>
     ///// <returns></returns>
             //public bool AddRecipient(params string[] mailList)
     //{
     //    this.Recipient = mailList[0].Trim();
     //    return true;
     //}
     
             /// <summary>
     /// 添加电子邮件附件。
     /// </summary>
     /// <param name="fileList">文件列表。</param>
     /// <returns>是否添加成功。</returns>
             public bool AddAttachment(params string[] fileList)
             {
                 if (fileList.Length > 0)
                 {
                     foreach (string file in fileList)
                     {
                         if (file != null)
                         {
                             this._attachment.Add(file);
                         }
                         else
                         {
                             return false;
                         }
                     }
                     return true;
                 }
                 else
                 {
                     return false;
                 }
             }
             /// <summary>
     /// 发送电子邮件。
     /// </summary>
     /// <returns>是否发送成功。</returns>
             public bool Send()
             {
                 //初始化 MailMessage 对象。
                 MailMessage mail = new MailMessage();
                 Encoding encoding = Encoding.GetEncoding("utf-8");
                 mail.From = new MailAddress(this.From, this.FromName, encoding);
                 mail.To.Add(new MailAddress(this.Recipient, this.RecipientName));
                 mail.Subject = this.Subject;
                 mail.IsBodyHtml = this.IsBodyHtml;
                 mail.Body = this.Body;
                 mail.Priority = MailPriority.Normal;
                 mail.BodyEncoding = encoding;
                 if (this.Attachment.Count > 0)
                 {
                     foreach (string file in this.Attachment)
                     {
                         mail.Attachments.Add(new Attachment(file));
                     }
                 }
                 //初始化 SmtpClient 对象。
                 SmtpClient smtp = new SmtpClient();
                 smtp.Host = this.ServerHost;
                 smtp.Port = this.ServerPort;
                 smtp.Credentials = new NetworkCredential(this.Username, this.Password);
                 if (smtp.Port != 25)
                 {
                     smtp.EnableSsl = true;
                 }
                 try
                 {
                     smtp.Send(mail);
                 }
                 catch (SmtpException ex)
                 {
                     string message = ex.Message;
                     return false;
                 }
                 return true;
             }
         }
  • 相关阅读:
    vector order by function and object
    C++ Tree node ,when g++ compile multiple cpp files should list them respectively
    Node.1
    asp遍历xml节点
    redis扩展安装以及在tp5中的操作
    JS中在循环内实现休眠(for循环内setTimeout延时问题)
    一种开发软件的新思路,给Web页面穿个马甲,用web页面做软件UI,用C#(或者C++等其它语言)代码做功能 碧血黄沙
    高仿QQMusic播放器,浅谈WinForm关于UI的制作 碧血黄沙
    我的站(艾网城市生活新门户)重新上线了 碧血黄沙
    用WPF开发仿QQ概念版之MessageWindow开发以及Demo下载 碧血黄沙
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/2859677.html
Copyright © 2020-2023  润新知