public long SendEmail(string context, ref Domain.Email.Models.Email email) { var emailMessage = Mapper.Map <EmailMessage>(email); emailMessage.Application = context; return(emailServiceProxy.SendEmail(emailMessage)); }
public static byte[] GetEmailBytes(Domain.Email.Models.Email email) { var mailMessage = Mapper.Map <System.Net.Mail.MailMessage>(email); foreach (var emailFileAttachment in email.FileAttachments) { mailMessage.Attachments.Add( new System.Net.Mail.Attachment( new MemoryStream(emailFileAttachment.Content), emailFileAttachment.Name)); } return(mailMessage.GetEmailContentBytes()); }
public string PersistEmail(ref Domain.Email.Models.Email email, string uniqueId) { if (null == repositoryBaseDirectory) { throw new InvalidProgramException( "No Email repository base directory setting could be found in the application configuration file."); } var repositoryRelativeDirectory = string.Format( "{0}\\{1}\\{2}", DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day); var repositoryFinalDirectory = Path.Combine(repositoryBaseDirectory, repositoryRelativeDirectory); DirectoryUtils.EnsureExists(repositoryFinalDirectory); var filename = string.Format("{0}.eml", uniqueId); foreach (var invalidCharacter in Path.GetInvalidFileNameChars()) { if (filename.Contains(invalidCharacter)) { filename = filename.Replace(invalidCharacter, '_'); } } var repositoryAbsolutePath = Path.Combine(repositoryFinalDirectory, filename); using (var fileStream = new FileStream(repositoryAbsolutePath, FileMode.Create)) { if (email.MimeBytes == null) { email.MimeBytes = EmailUtilities.GetEmailBytes(email); } fileStream.Write(email.MimeBytes, 0, email.MimeBytes.Length); } email.FileName = filename; email.PhysicalPath = repositoryFinalDirectory; return uniqueId; }
private async Task <Domain.Email.Models.Email> ConvertEmailMessage(EmailMessage emailMessage) { logger.DebugFormat("Converting email message [{0}] to email...", emailMessage.Subject); var email = new Domain.Email.Models.Email { FromAddress = emailMessage.From.ToString(), ToAddresses = ConvertEmailAddressCollection(emailMessage.ToRecipients), CCAddresses = ConvertEmailAddressCollection(emailMessage.CcRecipients), BCCAddresses = ConvertEmailAddressCollection(emailMessage.BccRecipients), Subject = emailMessage.Subject, Body = emailMessage.Body, DateReceived = DateTime.Now, FileAttachments = await ConvertAttachmentCollection(emailMessage.Attachments), MimeBytes = emailMessage.MimeContent.Content }; logger.DebugFormat("Email message [{0}] converted to email.", emailMessage.Subject); return(email); }
public string PersistEmail(ref Domain.Email.Models.Email email) { throw new NotImplementedException(); }
public string PersistEmail(ref Domain.Email.Models.Email email) { return PersistEmail(ref email, Guid.NewGuid().ToString()); }
public byte[] GetEmailMimeBytes(Domain.Email.Models.Email email) { return(EmailUtilities.GetEmailBytes(email)); }
public string PersistEmailToDisk(ref Domain.Email.Models.Email email) { return(diskPersister.PersistEmail(ref email)); }
public void PersistEmailToDatabase(ref Domain.Email.Models.Email email) { databasePersister.PersistEmail(ref email); }