public bool WriteMailMessageToQueue(CustomerDetails customer, string filename, string fromMailAddress, string queuePath) { if (customer == null) { return(false); } bool queueStatus = false; try { using (MailMessage mail = new MailMessage()) { string[] toEmails = customer.emailList.Split(','); foreach (string email in toEmails) { if (!string.IsNullOrWhiteSpace(email)) { mail.To.Add(new MailAddress(email)); } } if (FileExists(filename)) { mail.Attachments.Add(new Attachment(Open(filename), GetFileName(filename))); } mail.Subject = "Eurofins DQCI M2M Report"; mail.Sender = new MailAddress(fromMailAddress); mail.From = new MailAddress(fromMailAddress); mail.Body = "This is an automated Report Delivery. Please find your report attached"; SerializeableMailMessage serializedMail = new SerializeableMailMessage(mail); Message queueMessage = new Message(); queueMessage.Body = serializedMail; queueMessage.Recoverable = true; queueMessage.Formatter = new BinaryMessageFormatter(); MessageQueue queue = new MessageQueue(queuePath); queue.Send(queueMessage); queueStatus = true; } } catch (Exception exception) { //if (retryCount-- > 0) // WriteMailMessageToQueue(transactionInfo, linkToFile, fileFormat, retryCount); //string errDet = ExceptionFormatter.GetFormattedExceptionDetails(exception); //_error.Error(errDet, exception); } return(queueStatus); }
private string SerializeMessage(MailMessage mailMessage) { string serializedMessage; using (var ms = new MemoryStream()) { var serializedMailMessage = new SerializeableMailMessage(mailMessage); new BinaryFormatter().Serialize(ms, serializedMailMessage); serializedMessage = Convert.ToBase64String(ms.ToArray()); } return(serializedMessage); }
public bool SendQueueMails(string queuePath, string SMTPServer, int SMTPPortNumber, string SMTPUserName, string SMTPPassword, ref string fileAttchementname) { try { MessageQueue queue = new MessageQueue(queuePath); SMTPHelper smtpHelper = new SMTPHelper(); smtpHelper.Host = SMTPServer; // _configHelper.GetConfigValue("SMTPServer"); smtpHelper.Port = SMTPPortNumber; //Convert.ToInt32(_configHelper.GetConfigValue("SMTPPortNumber")); smtpHelper.UserName = SMTPUserName; //_configHelper.GetConfigValue("SMTPUserName"); smtpHelper.Password = SMTPPassword; //_configHelper.GetConfigValue("SMTPPassword"); Message msg = queue.Receive(TimeSpan.Zero); if (msg == null) { return(false); } msg.Formatter = new BinaryMessageFormatter(); if (msg.Body is SerializeableMailMessage) { SerializeableMailMessage mail = (SerializeableMailMessage)msg.Body; try { MailMessage objMsg = mail.GetMailMessage(); string attachments = objMsg.Attachments.AsEnumerable().Select(a => a.Name).FirstOrDefault(); smtpHelper.Send(objMsg); fileAttchementname = attachments; } catch (Exception ex) { Logger.WriteException(ex); return(false); } } } catch (MessageQueueException mqe) { if (mqe.MessageQueueErrorCode == MessageQueueErrorCode.IOTimeout) { return(false); } return(false); } return(true); }
public bool WriteMailMessageToQueue(string filename, string fromMailAddress, string queuePath) { bool queueStatus = false; try { using (MailMessage mail = new MailMessage()) { mail.To.Add(new MailAddress("*****@*****.**")); mail.To.Add(new MailAddress("*****@*****.**")); mail.To.Add(new MailAddress("*****@*****.**")); if (FileExists(filename)) { mail.Attachments.Add(new Attachment(Open(filename), "DEAN09111325.CSV")); } mail.Subject = "Eurofins DQCI M2M Report"; mail.Sender = new MailAddress(fromMailAddress); mail.From = new MailAddress(fromMailAddress); mail.Body = "From server : " + Environment.MachineName + " at " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff"); SerializeableMailMessage serializedMail = new SerializeableMailMessage(mail); Message queueMessage = new Message(); queueMessage.Body = serializedMail; queueMessage.Recoverable = true; queueMessage.Formatter = new BinaryMessageFormatter(); MessageQueue queue = new MessageQueue(queuePath); queue.Send(queueMessage); queueStatus = true; } } catch (Exception exception) { Logger.WriteException(exception); } return(queueStatus); }