public PublisherService(Interfaces.IMessage messageStoregeService) { _messageStorage = messageStoregeService; }
/// <summary> /// Internal send message /// </summary> /// <param name="message">The message.</param> protected override void InternalSend(Interfaces.IMessage message) { var Message = message as EmailMessage; if (Message == null) { return; } if (string.IsNullOrEmpty(Message.Body)) { Message.Body = " "; } using (MailMessage TempMailMessage = new MailMessage()) { char[] Splitter = { ',', ';' }; var AddressCollection = Message.To.Split(Splitter); for (int x = 0; x < AddressCollection.Length; ++x) { if (!string.IsNullOrEmpty(AddressCollection[x].Trim())) { TempMailMessage.To.Add(AddressCollection[x]); } } if (!string.IsNullOrEmpty(Message.CC)) { AddressCollection = Message.CC.Split(Splitter); for (int x = 0; x < AddressCollection.Length; ++x) { if (!string.IsNullOrEmpty(AddressCollection[x].Trim())) { TempMailMessage.CC.Add(AddressCollection[x]); } } } if (!string.IsNullOrEmpty(Message.Bcc)) { AddressCollection = Message.Bcc.Split(Splitter); for (int x = 0; x < AddressCollection.Length; ++x) { if (!string.IsNullOrEmpty(AddressCollection[x].Trim())) { TempMailMessage.Bcc.Add(AddressCollection[x]); } } } TempMailMessage.Subject = Message.Subject; if (!string.IsNullOrEmpty(Message.From)) { TempMailMessage.From = new System.Net.Mail.MailAddress(Message.From); } using (AlternateView BodyView = AlternateView.CreateAlternateViewFromString(Message.Body, null, MediaTypeNames.Text.Html)) { foreach (LinkedResource Resource in Message.EmbeddedResources.Check(new List <LinkedResource>())) { BodyView.LinkedResources.Add(Resource); } TempMailMessage.AlternateViews.Add(BodyView); TempMailMessage.Priority = Message.Priority; TempMailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1"); TempMailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1"); TempMailMessage.IsBodyHtml = true; foreach (Attachment TempAttachment in Message.Attachments.Check(new List <Attachment>())) { TempMailMessage.Attachments.Add(TempAttachment); } if (!string.IsNullOrEmpty(Message.Server)) { SendMessage(new SmtpClient(Message.Server, Message.Port), Message, TempMailMessage); } else { SendMessage(new SmtpClient(), Message, TempMailMessage); } } } }
public QueuedMessage(Interfaces.IMessage msg) { this.msg = msg; }