Outlook Mailitem в виде почтового вложения в C # - PullRequest
0 голосов
/ 14 февраля 2019

Я хотел бы заархивировать почтовый элемент Outlook и добавить его в качестве вложения в новое письмо.Это то, что я получил до сих пор:

newmail.Attachments.Add(mailItem, Outlook.OlAttachmentType.olEmbeddeditem);

Протестировано и работает до сих пор, если я добавляю простое письмо в качестве вложения.Но как я могу создать новый ZipArchive из MailItem?

1 Ответ

0 голосов
/ 14 февраля 2019

Попробуйте сохранить:

 String savepath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + filename + ".msg";
    mailItem.SaveAs(savepath);
 FileInfo mailItemToCompress= new FileInfo(savepath);

Сжать:

public void Compress(FileInfo mailItemToCompress, string compressedMailItem)
{
    using (FileStream originalFileStream = mailItemToCompress.OpenRead())
    {
       using (FileStream compressedMailItem= File.Create(compressedMailItem)
            {
                using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress))
                {
                    originalFileStream.CopyTo(compressionStream);
                }
            }
    }
}

Затем прикрепите свой mailItem:

mailItem.Attachments.Add(compressedMailItem);
...