none
Visual Basic, E-Mail, Carga de imagenes RRS feed

  • Pregunta

  • 'Alguien de aquí de casualidad sabe cual es mi error es 'que al mandar el mensaje no llega la imagen no se si 'tenga que montar un servidor FTP es que ya no me 'acuerdo dejé de programar por un buen tiempo ツ 
    'Bueno les dejo el código.
    '////////////////////////////////////////////////////////////
    '///////            CODIGO                          ////////
    '///////////////////////////////////////////////////////////
    
    Imports System.Net.Mail
    Public Class E_Mail_Encriptado
    
        Private Sub btnEnviar_Click(sender As Object, e As EventArgs) Handles btnEnviar.Click
            Try
                Dim SMTP As New System.Net.Mail.SmtpClient 'Variable con la que se envia el correo
                Dim CORREO As New System.Net.Mail.MailMessage
                CORREO.From = New System.Net.Mail.MailAddress(Desdemail.Text.ToString, "dar5_0094@hotmail.com", System.Text.Encoding.UTF8)
    
    
                Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString("Cuerpo del correo", Nothing, "text/html")
                'Path de la imagen
                Dim logo As New LinkedResource("D:\Imagenes\Iconos de Interfaz\documentos.png")
                logo.ContentId = "companylogo"
                'Adicionando logo
                htmlView.LinkedResources.Add(logo)
    
                CORREO.To.Add("pobrediablo94@hotmail.com")
                'Adicionando copia oculta
                CORREO.Bcc.Add("pobrediablo94@hotmail.com")
    
                CORREO.IsBodyHtml = True
                CORREO.AlternateViews.Add(htmlView)
    
                CORREO.Subject = "Visual Studio 2012"
                SMTP.Host = "smtp.live.com"
                SMTP.Port = 587
    
                Dim Credenciales As New System.Net.NetworkCredential
                Credenciales.UserName = ("dar5_0094@hotmail.com").Trim.ToString
                Credenciales.Password = ("password").Trim.ToString
                SMTP.EnableSsl = True
                SMTP.UseDefaultCredentials = False
                SMTP.Credentials = Credenciales
                SMTP.Send(CORREO)
                MsgBox("Mensaje enviado con exito", MsgBoxStyle.Information)
    
            Catch ex As System.Net.Mail.SmtpException
                MessageBox.Show("Fallo el envio: " & ex.Message)
            End Try
        End Sub
    End Class
    
    'Gracias de antemano ツ.
    Y si de paso tienen uno con un OpenFileDialog sería mejor. 

    Respuestas de la pagina Partner de Microsoft

    martes, 2 de octubre de 2012 1:56

Todas las respuestas

  • hola

    imagino la imagen que asignas como recurso la usas en el html del curpo del mail, no ?

    MailMessage – Adjuntar Imagen en el cuerpo del Mail (3/3)

    como veras definiendo el cid puedes referenciarla

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 2 de octubre de 2012 3:11
  • De echo así le estaba haciendo mira:

    Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString("Cuerpo del correo", Nothing, "text/html") 'Path de la imagen Dim logo As New LinkedResource("D:\Imagenes\Iconos de Interfaz\documentos.png") logo.ContentId = "companylogo" 'Adicionando logo htmlView.LinkedResources.Add(logo)

    pero si funciona lo que pasa es que no me muestra la imagen al enviarla al correo mm como lo podría hacer en vb si tengo este código:

    Imports System.Net.Mail
    Imports System.Net
    Imports System.IO
    
    Public Class E_Mail_Encriptado
        Dim SMTP As String
        Dim Puerto As Integer = 587
        Dim sec As String
        Dim attachment As OpenFileDialog = New OpenFileDialog()
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            TxtCorreo.Items.Add("Direccion correo Hotmail")
            TxtCorreo.Items.Add("Direccion correo Gmail")
            TxtCorreo.Items.Add("Direccion correo Yahoo")
            TxtCorreo.Items.Add("Direccion Correo Empresarial")
            TxtCorreo.DropDownStyle = ComboBoxStyle.DropDownList
            attachment.Filter = "All Files(*.*)|*.*"
            TxtAdjunto.ReadOnly = True
        End Sub
    
        Private Sub BExaminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BExaminar.Click
            If attachment.ShowDialog = Windows.Forms.DialogResult.OK Then
                TxtAdjunto.Text = attachment.FileName
            End If
        End Sub
    
        Private Sub BCorreo_Click(sender As Object, e As EventArgs) Handles BCorreo.Click
            Dim Usuario As String = txtUsuario.Text
            Dim Contraseña As String = txtContraseña.Text
            Dim A As String = txtA.Text
            Dim Contenido As String = txtContenido.Text.Trim() & vbCrLf
            Dim Asunto As String = txtAsunto.Text
            Dim Remitente As MailAddress = New MailAddress(Usuario)
            Dim Destinatario As MailAddress = New MailAddress(A)
            Dim CopiaCarbon As String = TxtCC.Text
            Dim BCopiaCarbon As String = TxtBCC.Text
            Dim tipo As String = Convert.ToString(txtCorreo.Text)
    
            If tipo = "Direccion correo Hotmail" Then
                SMTP = "SMTP.live.com"
                sec = "true"
            ElseIf tipo = "Direccion correo Gmail" Then
                SMTP = "SMTP.gmail.com"
                sec = "true"
            ElseIf tipo = "Direccion correo Yahoo" Then
                SMTP = "smtp.mail.yahoo.com"
                sec = "false"
            ElseIf tipo = "Direccion Correo Empresarial" Then
                SMTP = "127.0.0.1"
                sec = "true"
            End If
    
            'Try
            Dim correo As New Mail.MailMessage(Remitente, Destinatario)
            Dim Servidor As New Mail.SmtpClient
    
            With correo
                'aqui puedo agregar mas destinatarios, se debe borrar Remitente y destinatario y modificar
                ' la declaracion de correo y ademas dejar codigo asi: Dim correo As New Mail.MailMessage()
                '.From = New Mail.MailAddress(Usuario)
                '.To.Add(New MailAddress(A))
                '.To = New Mail.MailAddress(A)  aqui solo especifica un destinatario con Add se agregan mas.
                'por ejemplo
                '.To.Add(New MailAddress(A1))
                '.To.Add(New MailAddress(A2))
                '.To.Add(New MailAddress(A3))
                
    
    
    
                Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString("Cuerpo del correo", Nothing, "text/html")
                'Path de la imagen
                Dim logo As New LinkedResource("D:\Imagenes\Iconos de Interfaz\documentos.png")
                logo.ContentId = "companylogo"
                'Adicionando logo
                htmlView.LinkedResources.Add(logo)
    
    
    
    
    
                .Subject = Asunto
                .Body = Contenido
                .BodyEncoding = System.Text.Encoding.UTF8
                .IsBodyHtml = False
                .Priority = MailPriority.Normal
    
    
                If Not CopiaCarbon Is Nothing And CopiaCarbon <> vbNullString Then
                    .Bcc.Add(New MailAddress(BCopiaCarbon))
                End If
    
                If Not CopiaCarbon Is Nothing And BCopiaCarbon <> vbNullString Then
                    .Bcc.Add(New MailAddress(BCopiaCarbon))
                End If
    
                If attachment.FileName.Length > 0 Then
                    .Attachments.Add(New Attachment(attachment.FileName))
                End If
            End With
    
            With Servidor
                .Host = SMTP
                .Port = Puerto
                .EnableSsl = sec
                .Credentials = New System.Net.NetworkCredential(Usuario, Contraseña)
                .Send(correo)
            End With
    
            MessageBox.Show("Correo enviado!", "Correo", MessageBoxButtons.OK)
            'Catch
            '    MessageBox.Show("Correo no se envio !", "Correo", MessageBoxButtons.OK)
            'End Try
        End Sub
    End Class

    Así es mi formulario te agradeceria si me puedes ayudar es lenguaje VB.Net


    Respuestas de la pagina Partner de Microsoft

    martes, 2 de octubre de 2012 3:40