C#一个完整的电子邮件操作类

/// <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;
         }
     }

C#一个完整的电子邮件操作类
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值