我使用S22.imap库从邮箱下载所有电子邮件。有些消息有附件。我想转发一些带有附件的电子邮件,或者使用邮箱中的附件创建一封新电子邮件。
问题是,我无法获取附件,因此我可以将它们添加为我的消息的新附件。
所以基本上: 我有一个MailMessage对象,我想获取附加到它的文件并将其添加到新的MailMessage对象。
答案 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。然后将流添加到新消息。