.NET: Проблемы с созданием вложений электронной почты из MemoryStream - PullRequest
1 голос
/ 10 июня 2010

Я использую следующий метод для создания вложения из MemoryStream:

public void AddAttachment(Stream stream, string filename, string mimeType)
{
  byte[] buffer = ((MemoryStream) stream).GetBuffer();
  Attachment attachment = new Attachment(stream, filename, mimeType);
  _mail.Attachments.Add(attachment);
}

Обратите внимание, что в первой строке нет необходимости, она не нужна для функциональности вложения, просто полезно иметьbyte [] удобно во время отладки, так что я вижу, насколько он велик.(Обычно он содержит около 80 000 элементов.)

Код работает нормально и электронное письмо отправлено.Когда Outlook получает электронное письмо, в папке «Входящие» он отображает символ вложения, но когда вы входите в электронное письмо, вложения там нет.

К сожалению, у меня нет доступа к почтовому серверу, чтобы узнать большеоб электронном письме, например, как выглядит вложение, его размер и т. д.

Может кто-нибудь подсказать, какие свойства аргумента MemoryStream могут мне сказать, если оно каким-то образом недопустимо для вложения?Или еще что-нибудь, что я мог бы попробовать?

Спасибо.

Дэвид

1 Ответ

2 голосов
/ 10 июня 2010

Сбросили ли вы позицию потока памяти в 0 после записи в него вашего контента?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...