¿Cómo agregar un archivo adjunto de correo electrónico desde una matriz de bytes?

Tengo un byte[] con el contenido del archivo. Me gustaría enviarlo como un archivo adjunto utilizando System.Net.Mail .

Noté que la clase de adjuntos tiene una sobrecarga que acepta un flujo.

 Attachment att = new Attachment(Stream contentStream,string name); 

¿Es posible pasar el byte[] través de esta sobrecarga?

Manera más simple:

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

Tenga en cuenta que, a menos que haga cosas extrañas con operaciones asíncronas, es seguro dejarlas sin efecto, lo que puede facilitarle la vida. Es cierto que no hay garantía de que eso sea cierto en el futuro, pero creo que es poco probable que cambie. No puedo ver ninguna indicación de si la eliminación del archivo adjunto se deshace de su flujo 🙁

Debe convertir el byte[] a un MemoryStream usando la sobrecarga del constructor de MemoryStream apropiado.

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

Tenga en cuenta que el parámetro de nombre al constructor del archivo adjunto especifica el nombre del tipo de contenido del archivo adjunto, no el nombre del archivo adjunto en sí.