Я использую следующий метод для создания вложения из 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 могут мне сказать, если оно каким-то образом недопустимо для вложения?Или еще что-нибудь, что я мог бы попробовать?
Спасибо.
Дэвид