Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add an email attachment from a byte array?

Tags:

c#

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 :(


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.