вложение электронной почты из MemoryStream приходит пустым

_data - массив байтов [] данных Attachment.

Когда я делаю это:

 var ms = new MemoryStream(_data.Length); 
 ms.Write(_data,0,_data.Length);
 mailMessage.Attachments.Add(new Attachment(ms, attachment.Name));

Приложение приходит пустым. На самом деле внешний вид показывает размер файла, но это неверно.

Ну, я подумал, что в моих _данных есть проблема. Тогда я решил попробовать этот подход:

 var ms = new MemoryStream(_data.Length); 
 ms.Write(_data,0,_data.Length);
 fs = new FileStream(@"c:\Temp\"+attachment.Name,FileMode.CreateNew);
 fs.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
 fs.Flush();
 fs.Close();
 mailMessage.Attachments.Add(new Attachment(@"c:\Temp\" + attachment.Name));

И это работает. Что не так с первым?

Ответы на вопрос(2)

Ваш ответ на вопрос