viernes, 10 de junio de 2016

Enviar correo con imágenes incrustadas

Hola a todos.
Por si alguna vez les piden que envíen correos con imágenes; acá les comparto una forma de poder realizarlo:

 
Public Sub CorreoNet(ByVal CorreoDestinatario As String, CorreoDestinatarioCopia As String, ByVal CorreoRemitente As String, ByVal Name As String, _
                     ByVal Asunto As String, ByVal Host As String)
        'Mensaje:
        Dim Mensaje = "Hola mundo... cargando imagen: "

        Dim reader = File.ReadAllBytes("D:\Demo\Imagenes\iGrupo.png")
        Dim image1 = New MemoryStream(reader)
        Dim av = AlternateView.CreateAlternateViewFromString(Mensaje, Nothing, System.Net.Mime.MediaTypeNames.Text.Html)

        Dim headerImage = New LinkedResource(image1, System.Net.Mime.MediaTypeNames.Image.Jpeg)
        headerImage.ContentId = "companyLogo"
        headerImage.ContentType = New Mime.ContentType("image/png")
        av.LinkedResources.Add(headerImage)

        'Configuracion Mensaje:
        Dim Correo = New Mail.MailMessage()
        Correo.To.Add(CorreoDestinatario)
        If Not CorreoDestinatarioCopia = "" Then Correo.CC.Add(CorreoDestinatarioCopia)
        Correo.From = New Mail.MailAddress(CorreoRemitente, Name, Encoding.UTF8)
        Correo.Subject = Asunto
        Correo.SubjectEncoding = Encoding.UTF8

        'Correo.Body = Mensaje
        Correo.AlternateViews.Add(av)
        Correo.BodyEncoding = Encoding.UTF8
        Correo.Priority = Mail.MailPriority.High
        Correo.IsBodyHtml = True

        'Configuracion SMTP:
        Dim Servidor = New Mail.SmtpClient
        Servidor.Host = Host

        'Enviar Correo:
        Try
            Servidor.Send(Correo)
        Catch ex As Mail.SmtpException
            Throw ex
        End Try
    End Sub
End Class

Ademas deberás incluir incluir los siguientes "Imports":
Imports System.Net
Imports System.Text
Imports System.IO
Imports System.Net.Mail
Saludos.

No hay comentarios.:

Publicar un comentario