protected void FinalizeMailing(MessageDetail messageCount, string mailerrorMessage) { EEmailLog.AddSentEmailLog(dbConn, messageCount.mailMessage.To.ToString(), messageCount.startTime, AppUtils.ServerDateTime(), messageCount.trialCount, mailerrorMessage); messageCount.mailMessage.Dispose(); if (messageCount.deleteAttachment) { foreach (string attachmentFilePath in messageCount.attachmentList) { try { System.IO.File.Delete(attachmentFilePath); } finally { } } } else { } pendingQueue--; }
//public bool SendEmail(string ToEmail, string FromEmail, string ToName, string FromName, string subject, string body, string attachmentFileName, bool DeleteAttachment) //{ // return SendEmail(ToEmail, FromEmail, ToName, FromName, subject, body, attachmentFileName, attachmentFileName, DeleteAttachment); //} public bool SendEmail(string ToEmail, string FromEmail, string ToName, string FromName, string subject, string body, string attachmentFileName, string ActualAttachmentFileName, bool DeleteAttachment) { if (smtpClient != null) { DateTime startTime = AppUtils.ServerDateTime(); if (DefaultFromEmailAccount.Equals(string.Empty)) { string outgoingEmail = ESystemParameter.getParameter(dbConn, ESystemParameter.PARAM_CODE_SMTP_SMTP_OUTGOING_EMAIL_ADDRESS); if (!string.IsNullOrEmpty(outgoingEmail)) { FromEmail = outgoingEmail; FromName = string.Empty; } } else { FromEmail = DefaultFromEmailAccount; FromName = string.Empty; } MailMessage message = new MailMessage(); if (!string.IsNullOrEmpty(ToEmail)) { message.From = new MailAddress(FromEmail, FromName); string[] ToEmailList = ToEmail.Split(new char[] { ';' }); string[] ToNameList = ToEmail.Split(new char[] { ';' }); if (ToNameList.Length != ToEmailList.Length) { message.To.Add(ToEmail); } else { for (int idx = 0; idx < ToEmailList.Length; idx++) { try { message.To.Add(new MailAddress(ToEmailList[idx], ToNameList[idx])); } catch (FormatException) { EEmailLog.AddSentEmailLog(dbConn, ToEmailList[idx], startTime, AppUtils.ServerDateTime(), 0, "Invalid E-mail format"); } } } if (message.To.Count <= 0) { return(false); } message.Subject = subject; message.Body = body; message.IsBodyHtml = false; ArrayList attachmentList = new ArrayList(); if (System.IO.File.Exists(attachmentFileName)) { Attachment attachment = new Attachment(attachmentFileName); attachment.Name = ActualAttachmentFileName; message.Attachments.Add(attachment); attachmentList.Add(attachmentFileName); } if (SendAsync) { MessageDetail messageDetail = new MessageDetail(); messageDetail.mailMessage = message; messageDetail.startTime = startTime; messageDetail.attachmentList = attachmentList; messageDetail.deleteAttachment = DeleteAttachment; pendingQueue++; SendAsyncMode(messageDetail); } else { smtpClient.Send(message); } } return(true); } else { return(false); } }