C# SMTP發送郵件


在程序開發中通常有推送消息的需求,通常為短信服務,郵件,電話提醒。

短信及電話提醒通常需要向運營商購買服務調用接口,比較麻煩。郵件信

息推送也是不錯的選擇,下面使用C#實現SMTP發送郵件

/// <summary>
        /// 發送郵件
        /// </summary>
        /// <param name="M">發件內容</param>
        public static void LocalHostSend(SendMail M)
        {
            try
            {
                MailMessage myMail = new MailMessage();//發送電子郵件類
                
                foreach (string item in M.Addressee)//添加收件人
                {
                    myMail.To.Add(item);
                }
                foreach (string item in M.CC)//添加抄送
                {
                    myMail.CC.Add(item);
                    
                }

                myMail.Subject = M.Theme;//郵件主題
                myMail.SubjectEncoding = M.SubjectEncoding;//郵件標題編碼

                myMail.From = new MailAddress(M.From, M.DisplayName, M.SubjectEncoding);//發件信息


                myMail.Body = M.Body;//郵件內容
                myMail.BodyEncoding = M.BodyEncoding;//郵件內容編碼
                myMail.IsBodyHtml = M.IsBodyHtml;//是否是HTML郵件
                myMail.Priority = M.Priority;//郵件優先級

                SmtpClient smtp = new SmtpClient();//SMTP協議

                smtp.EnableSsl = M.EnableSsl;//是否使用SSL安全加密   使用QQ郵箱必選
                smtp.UseDefaultCredentials = M.UseDefaultCredentials;

                smtp.Host = M.Host;//主機

                smtp.Credentials = new NetworkCredential(M.From, M.Password);//驗證發件人信息

                smtp.Send(myMail);//發送

            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            
        }
public class SendMail
    {
        public string From { get; set; }//發件人地址
        public string Password { get; set; }//密碼
        public string []  Addressee { get; set; }//收件人地址
        public string [] CC { get; set; }//抄送
        public string Theme { get; set; }//主題
        public string DisplayName { get; set; }//發件人名稱
        public Encoding SubjectEncoding { get; set; }//編碼
        public string Body { get; set; }//郵件內容
        public Encoding BodyEncoding { get; set; }//郵件內容編碼
        public bool IsBodyHtml { get; set; }//是否HTML郵件
        public MailPriority Priority { get; set; }//郵件優先級
        public bool EnableSsl { get; set; }//是否ssl
        public bool UseDefaultCredentials { get; set; }
        public string Host { get; set; }

    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM