public static bool Send(string templatefile, Hashtable Replace, string mailTo, string title, MailAddressCollection cc, MailAddressCollection bcc, string[] AttacheFile, bool SaveCannotSend, out string ErrorMessage, MailInfo MInfo) { if ((mailTo == null) || ("".Equals(mailTo.Trim()))) { ErrorMessage = "Email người nhận không đúng"; return(true); } string contents = ""; try { contents = File.ReadAllText(templatefile, System.Text.UTF8Encoding.UTF8); } catch (Exception ex) { ErrorMessage = ex.Message; return(false); } foreach (DictionaryEntry Ent in Replace) { if (Ent.Value != null) { contents = contents.Replace(Ent.Key.ToString(), Ent.Value.ToString()); } else { contents = contents.Replace(Ent.Key.ToString(), ""); } } MailAddress email = new MailAddress(mailTo); MailAddressCollection To = new MailAddressCollection(); To.Add(email); return(Send(To, title, cc, bcc, contents, AttacheFile, SaveCannotSend, out ErrorMessage, MInfo)); }
/// <summary> /// Tiến hành gửi mail /// </summary> /// <param name="mailTo"></param> /// <param name="title"></param> /// <param name="cc"></param> /// <param name="contents"></param> /// <param name="AttacheFiles"></param> /// <param name="SaveCannotSend"></param> /// <param name="ErrorMessage"></param> /// <param name="MInfo"></param> /// <returns></returns> public static bool Send(MailAddressCollection mailTo, string title, MailAddressCollection cc, MailAddressCollection bcc, string contents, string[] AttacheFiles, bool SaveCannotSend, out string ErrorMessage, MailInfo MInfo) { bool success = true; ErrorMessage = ""; //Lưu lại email đã gửi Hashtable val = new Hashtable(); if (MInfo == null || MInfo.Email == "") { ErrorMessage = "Không tìm thấy cấu hình mail"; return(false); } if (mailTo.Count == 0 && cc.Count == 0 && bcc.Count == 0) { ErrorMessage = "Không có người nhận mail"; return(false); } val.Add("Loai", MInfo.Loai); val.Add("Id", MInfo.Id); val.Add("Title", title); val.Add("Contents", contents); val.Add("SendDate", DateTime.Now); val.Add("SendFrom", MInfo.Email); MailMessage m = new MailMessage(); string guiden = "", strcc = "", strbcc = ""; for (int i = 0; i < mailTo.Count; i++) { m.To.Add(mailTo[i]); guiden += "," + mailTo[i]; } m.From = new MailAddress(MInfo.Email); if (AttacheFiles != null) { foreach (var AttacheFile in AttacheFiles) { if ((!"".Equals(AttacheFile)) && (File.Exists(AttacheFile))) { Attachment att = new Attachment(AttacheFile); m.Attachments.Add(att); } } } if (cc != null) { for (int i = 0; i < cc.Count; i++) { m.CC.Add((MailAddress)cc[i]); strcc += "," + cc[i]; } } if (bcc != null) { for (int i = 0; i < bcc.Count; i++) { m.Bcc.Add((MailAddress)bcc[i]); strbcc += "," + bcc[i]; } } m.IsBodyHtml = true; m.Subject = title; m.Body = contents; if (!"".Equals(guiden)) { guiden = guiden.Substring(1); } val.Add("MailTo", guiden); if (!"".Equals(strcc)) { strcc = strcc.Substring(1); } val.Add("CC", strcc); if (!"".Equals(strbcc)) { strbcc = strbcc.Substring(1); } val.Add("BCC", strbcc); if ("".Equals(MInfo.Email)) { ErrorMessage = "Không tìm thấy cấu hình mailserver"; success = false; } if (!success) { val.Add("Success", success); val.Add("ErrorMsg", ErrorMessage); DpsConnection cnn1 = new DpsConnection(MInfo._config.ConnectionString); cnn1.Insert(val, "Sys_SendMail"); return(false); } string str = ""; Task.Factory.StartNew((Action)(() => { SmtpClient s = new SmtpClient(MInfo.SmptClient, MInfo.Port); s.UseDefaultCredentials = false; s.EnableSsl = MInfo.EnableSSL; s.Credentials = new NetworkCredential(MInfo.UserName, MInfo.Password); s.DeliveryMethod = SmtpDeliveryMethod.Network; try { s.Send(m); } catch (Exception ex) { str = ex.Message; success = false; } val.Add("Success", success); val.Add("ErrorMsg", str); DpsConnection cnn1 = new DpsConnection(MInfo._config.ConnectionString); cnn1.Insert(val, "Sys_SendMail"); })); ErrorMessage = str; return(success); }
public static bool Send(string mailTo, string title, MailAddressCollection cc, string contents, string[] AttacheFile, bool SaveCannotSend, out string ErrorMessage, MailInfo MInfo) { MailAddress email = new MailAddress(mailTo); MailAddressCollection to = new MailAddressCollection(); to.Add(email); return(Send(to, title, cc, new MailAddressCollection(), contents, AttacheFile, SaveCannotSend, out ErrorMessage, MInfo)); }
public static bool Send(string TempateFile, Hashtable Replace, MailAddressCollection mailTo, string title, MailAddressCollection cc, MailAddressCollection bcc, string[] AttacheFile, bool SaveCannotSend, out string ErrorMessage, MailInfo MInfo) { string contents = ""; try { contents = File.ReadAllText(TempateFile, System.Text.UTF8Encoding.UTF8); } catch (Exception ex) { ErrorMessage = ex.Message; return(false); } foreach (DictionaryEntry Ent in Replace) { contents = contents.Replace(Ent.Key.ToString(), Ent.Value.ToString()); } return(Send(mailTo, title, cc, bcc, contents, AttacheFile, SaveCannotSend, out ErrorMessage, MInfo)); }