How to add an email attachment from a byte array?

后端 未结 2 672
野的像风
野的像风 2020-12-07 13:32

I have a byte[] with the contents of file. I would like to send it as an attachment using System.Net.Mail.

I noticed the attachment class

相关标签:
2条回答
  • 2020-12-07 14:05

    You need to convert the byte[] to a MemoryStream using the appropriate MemoryStream constructor overload.

    Attachment att = new Attachment(new MemoryStream(myBytes), name);
    

    Note that the name parameter to Attachment's constructor specifies the name of the attachment's content type, not the name of the attachment itself.

    0 讨论(0)
  • 2020-12-07 14:08

    Simplest way:

    Attachment att = new Attachment(new MemoryStream(bytes), name);
    

    Note that unless you do funky stuff with asynchronous operations, MemoryStream is safe to leave undisposed, which may make life easier for you. Admittedly there's no guarantee that that will be true in the future, but I think it's unlikely that it will change. I can't see any indication as to whether disposing of the attachment disposes of its stream :(

    0 讨论(0)
提交回复
热议问题