2015-01-30 1 views
0

Я использую библиотеку S22.imap для загрузки всех сообщений электронной почты из почтового ящика. В некоторых сообщениях есть вложения. Я хотел бы переслать некоторые письма с вложениями или создать новое электронное письмо с вложениями из почтового ящика почтового ящика.S22.Imap fetch вложения

Проблема в том, что я не могу получить вложения, поэтому я могу добавить их в качестве новых вложений в мое сообщение.

В основном: У меня есть объект MailMessage, и я хочу получить прикрепленный к нему файл и добавить его в новый объект MailMessage.

+0

[C# перестать быть ленивыми и начать кодирование своего собственного материала .COM] (http://www.google.com) – MethodMan

+0

В отличие от сайтов форума, мы не используем «спасибо», или «Любая помощь приветствуется "или подписи на [так]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -Удалена-от-сообщений). –

ответ

1

Если у кого-то есть такая же проблема: я повторяю через объекты MailMessage: foreach (Приложение вложения в сообщении. Приложения) и потоковое вложение. КонтентStream. Затем добавьте потоки в новое сообщение.

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(); 
}