Intentando enviar un archivo adjunto desde un string, me tope con la incertidumbre de como pasar un cadena (string) a un stream (flujo) ya que el simple casteo me generaba error
Bueno la idea primeramente era enviar un correo adjunto mediante el metodo Add de la coleccion Attachment
_correo.Attachments.Add(New Attachment(strmMemory, "Recordatorio.htm", "text/html"))
pero necesitaba un stream (flujo) y solo tenia el contenido en cadena, y no podia, hasta que llego la
System.IO.MemoryStream
(...)La clase MemoryStream crea secuencias que utilizan como almacén de respaldo la memoria en lugar de un disco o una conexión de red. MemoryStream encapsula los datos almacenados como una matriz de bytes sin signo que se inicializa al crear un objeto MemoryStream; también se puede crear una matriz vacía. Es posible obtener acceso directamente a los datos encapsulados en la memoria. Las secuencias de memoria pueden reducir la necesidad de archivos y búferes temporales en una aplicación.(...)
El ejemplo es algo asi:
Private _correo As New System.Net.Mail.MailMessage
'...varias lineas de código despues...
Dim uniEnco As New UnicodeEncoding
Dim aBytes As Byte() = uniEnco.GetBytes(_correoContenido.Cuerpo)
Dim strmMemory As New MemoryStream(aBytes)
_correo.Attachments.Add(New Attachment(strmMemory, "Recordatorio.htm", "text/html"))
y luego me dedique a predicarlo jeje! posteando más a modo de recordartorio y para el que lo necesite algunas vez.