public bool SendEmail(bool save) { bool bRet = false; bool bEnableSSL = Utils.ParseBoolSafe(enableSSL); if (save) { SaveEmail(); } try { MailMessage mail = new MailMessage(FromAddress, ToAddress); mail.Subject = Subject; mail.Body = Message + "<br />From: " + IP; mail.IsBodyHtml = true; if (AttachedFile != null) { Stream stream = new MemoryStream(AttachedFile); mail.Attachments.Add(new Attachment(stream, FileName)); } ServicePointManager.Expect100Continue = false; SmtpClient sc = new SmtpClient(); sc.Host = SMTPServer; sc.EnableSsl = bEnableSSL; NetworkCredential cred = new NetworkCredential(UserName, Password); sc.UseDefaultCredentials = true; sc.Credentials = cred; sc.Port = SMTPPort; sc.Send(mail); bRet = true; } catch (Exception ex) { if (ex.Message.Contains("Greylisted")) { System.Threading.Thread.Sleep(60000); bRet = SendEmail(false); } if (!bRet) { SaveError error = new SaveError(); ErrorType err = new ErrorType { Err_Message = ex.Message, Err_Subject = "Email Failure", Page = "Email.cs", Process = "SendEmail", UserID = UserID, LiteralDesc = ex.StackTrace.ToString() }; error.ReportError(err); } } return(bRet); }
public bool SendAlert(bool save, string Body, string Email, string subject) { bool bRet = false; bool bEnableSSL = Utils.ParseBoolSafe(enableSSL); if (save) { SaveEmail(); } try { MailMessage mail = new MailMessage(ToAddress, Email); mail.Subject = subject; mail.Body = Body; mail.IsBodyHtml = true; ServicePointManager.Expect100Continue = false; SmtpClient sc = new SmtpClient(); sc.Host = SMTPServer; sc.EnableSsl = bEnableSSL; NetworkCredential cred = new NetworkCredential(UserName, Password); sc.UseDefaultCredentials = true; sc.Credentials = cred; sc.Port = SMTPPort; sc.Send(mail); bRet = true; } catch (Exception ex) { SaveError error = new SaveError(); ErrorType err = new ErrorType { Err_Message = ex.Message, Err_Subject = "Email Failure", Page = "Email.cs", Process = "SendAlert", UserID = UserID, LiteralDesc = ex.StackTrace.ToString() }; error.ReportError(err); } return(bRet); }
private void SaveEmail() { EmailRepository e = new EmailRepository(UserID, "Email", "SaveEmail"); if (toAddress == null || Subject == null) { SaveError error = new SaveError(); ErrorType err = new ErrorType { Err_Message = "Subject Missing Error", LiteralDesc = e.Message, SQL = "", Page = "Email.cs", Process = "SaveEmail", Err_Subject = "Tracking this error - null subject or toAddress", UserID = UserID }; error.ReportError(err); } e.PreserveEmail(toAddress, SenderName, Subject, Message, UserID, IP); }