[C#]郵件發送類(帶附件)

來源:互聯網
上載者:User
using System;using System.Collections.Generic;using System.Text;using System.Net; using System.Net.Mail;using System.Net.Mime;namespace WindowsFormsApplication1{    class SendMail    {        private MailMessage mailMessage;        private SmtpClient smtpClient;        private string password;//寄件者密碼         /// <summary>          /// 處審核後類的執行個體          /// </summary>          /// <param name="To">收件者地址</param>          /// <param name="From">寄件者地址</param>          /// <param name="Body">郵件內文</param>          /// <param name="Title">郵件的主題</param>          /// <param name="Password">寄件者密碼</param>          public SendMail(string To, string From, string Body, string Title, string Password)        {            mailMessage = new MailMessage();            mailMessage.To.Add(To);            mailMessage.From = new System.Net.Mail.MailAddress(From);            mailMessage.Subject = Title;            mailMessage.Body = Body;            mailMessage.IsBodyHtml = true;            mailMessage.BodyEncoding = System.Text.Encoding.UTF8;            mailMessage.Priority = System.Net.Mail.MailPriority.Normal;            this.password = Password;        }        /// <summary>          /// 添加附件          /// </summary>          public void Attachments(string Path)          {              string[] path = Path.Split(',');              Attachment data;              ContentDisposition disposition;              for (int i = 0; i < path.Length; i++)              {                  data = new Attachment(path[i], MediaTypeNames.Application.Octet);//執行個體化附件                  disposition = data.ContentDisposition;                  disposition.CreationDate = System.IO.File.GetCreationTime(path[i]);//擷取附件的建立日期                  disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]);//擷取附件的修改日期                  disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]);//擷取附件的讀取日期                  mailMessage.Attachments.Add(data);//添加到附件中              }          }        /// <summary>          /// 非同步發送郵件          /// </summary>          /// <param name="CompletedMethod"></param>          public void SendAsync(SendCompletedEventHandler CompletedMethod)        {            if (mailMessage != null)            {                smtpClient = new SmtpClient();                smtpClient.Credentials = new System.Net.NetworkCredential(mailMessage.From.Address, password);//設定寄件者身份的票據                  smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;                smtpClient.Host = "smtp." + mailMessage.From.Host;                smtpClient.SendCompleted += new SendCompletedEventHandler(CompletedMethod);//註冊非同步發送郵件完成時的事件                  smtpClient.SendAsync(mailMessage, mailMessage.Body);            }        }        /// <summary>          /// 發送郵件          /// </summary>          public void Send()        {            if (mailMessage != null)            {                smtpClient = new SmtpClient();                smtpClient.Credentials = new System.Net.NetworkCredential(mailMessage.From.Address, password);//設定寄件者身份的票據                  smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;                smtpClient.Host = "smtp." + mailMessage.From.Host;                smtpClient.Send(mailMessage);            }        }      }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.