S22.Imap获取附件

时间:2015-01-30 15:54:47

标签: c# email attachment

我使用S22.imap库从邮箱下载所有电子邮件。有些消息有附件。我想转发一些带有附件的电子邮件,或者使用邮箱中的附件创建一封新电子邮件。

问题是,我无法获取附件,因此我可以将它们添加为我的消息的新附件。

所以基本上: 我有一个MailMessage对象,我想获取附加到它的文件并将其添加到新的MailMessage对象。

2 个答案:

答案 0 :(得分:2)

foreach (Attachment attachment in message.Attachments)
{
    byte[] allBytes = new byte[attachment.ContentStream.Length];
    int bytesRead = attachment.ContentStream.Read(allBytes, 0, (int)attachment.ContentStream.Length);
    string destinationFile = @"C:\\Path\\" + attachment.Name;
    BinaryWriter writer = new BinaryWriter(new FileStream(destinationFile, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None));
    writer.Write(allBytes);
    writer.Close();
}

答案 1 :(得分:1)

如果有人遇到同样的问题:我通过MailMessage对象进行itarate: foreach(message.Attachments中的附件附件)和stream attachment.ContentStream。然后将流添加到新消息。