在程序開發中通常有推送消息的需求,通常為短信服務,郵件,電話提醒。
短信及電話提醒通常需要向運營商購買服務調用接口,比較麻煩。郵件信
息推送也是不錯的選擇,下面使用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; } }