.NET:从MemoryStream创建电子邮件附件时出现问题

时间:2010-06-10 12:49:22

标签: .net stream attachment mailmessage

我正在使用以下方法从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 个答案:

答案 0 :(得分:2)

将内容写入后,是否已将内存流的位置重置为0?