Outlook Mailitem作为C#中的Zip附件

问题描述 投票:0回答:1

我想压缩Outlook Mailitem并将其添加为新邮件的附件。这是我到目前为止所得到的:

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

到目前为止测试和工作,如果我添加普通电子邮件作为附件。但是如何从MailItem创建新的ZipArchive?

c# outlook ziparchive
1个回答
0
投票

尝试保存:

 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);
© www.soinside.com 2019 - 2024. All rights reserved.