/// <summary> /// converte message to eml format /// </summary> /// <param name="email"></param> public static void ConverteToEml(ApiEmail email, List <Attachment> attac, string folderPath) { Mime emlmes = new Mime(); MimeEntity mainEntity = emlmes.MainEntity; mainEntity.From = new AddressList(); mainEntity.From.Add(new MailboxAddress(email.Sender.Name, email.Sender.EmailAddress)); mainEntity.To = new AddressList(); mainEntity.To.Add(new MailboxAddress(email.Recipient[0].Name, email.Recipient[0].EmailAddress)); mainEntity.Subject = email.Subject; mainEntity.ContentType = MediaType_enum.Multipart_mixed; mainEntity.ContentTransferEncoding = ContentTransferEncoding_enum.QuotedPrintable; MimeEntity textEntity = mainEntity.ChildEntities.Add(); textEntity.ContentType = MediaType_enum.Text_plain; textEntity.ContentTransferEncoding = ContentTransferEncoding_enum.QuotedPrintable; textEntity.DataText = email.Message; MimeEntity htmlEntity = mainEntity.ChildEntities.Add(); htmlEntity.ContentType = MediaType_enum.Text_html; htmlEntity.ContentTransferEncoding = ContentTransferEncoding_enum.QuotedPrintable; htmlEntity.DataText = email.Html; mainEntity.Date = email.Date.Value; mainEntity.MessageID = GetEmailMetadata(email.message, "Message-ID"); mainEntity.MimeVersion = GetEmailMetadata(email.message, "MIME-Version"); if (attac.Count != 0) { foreach (var att in attac) { MimeEntity attachmentEntity = mainEntity.ChildEntities.Add(); attachmentEntity.ContentTypeString = att.mimeType; attachmentEntity.ContentDisposition = ContentDisposition_enum.Attachment; attachmentEntity.ContentTransferEncoding = ContentTransferEncoding_enum.QuotedPrintable; attachmentEntity.Data = att.name; attachmentEntity.ContentDisposition_FileName = att.namestr; } } emlmes.ToFile(folderPath + "\\" + email.message.Id + ".eml"); }