none
Como enviar imagenes por correo con VB

    Pregunta

  • Buenas... Estoy trabajando en un sistema en VB 6.0 y tengo una rutina que busca todos los clientes que cumpleanos y le envia una imagen de Feliz Cumpleanos, esta imagen se esta enviando como un documento adjunto, como un attach, pero lo que necesito hacer es poder enviarlo y que no se muestre como un attach, si no, que se muestre en el correo en la parte donde se digita el cuerpo del correo.

    Lo que se busca es que el cliente no tenga que abrir un archivo adjunto, si no, que al momento de abrir el correo la imagen se muestre de una vez.

    Espero haberme explicado bien!!

    Gracias por cualquier ayuda. 

    viernes, 23 de noviembre de 2012 16:56

Todas las respuestas

  • Me temo que debe estar la imagen en un servidor web, y en el cuerpo del correo envias la etiqueta  img que tiene esa dirección.

    Yo envío correo masivo de esa manera. Si no dispones de un servidor web y deseas realizar la prueba, envía la imagen a mi correo siscond@hotmail.com y la coloco en un servidor web.



    • Editado guarracuco viernes, 23 de noviembre de 2012 20:43
    viernes, 23 de noviembre de 2012 20:40
  • Lo que tienes que hacer es enviar el email en formato HTML con la imagen embebida para la que imagen sea parte del cuerpo del correo y no como adjunto al correo.

    Aqui tienes esta liga que espero te sea de utilidad...

    Saludos desde Mexico.


    EmmaRmz

    viernes, 23 de noviembre de 2012 22:07
  • Buenas... Este es la funcion que estoy utilizando:

    Public Function sendEmail(pStrIpSmptServer As String, _
                              ByVal pStrSenderName As String, _
                              ByVal pStrSenderAccount As String, _
                              ByVal pStrAccoPasword As String, _
                              ByVal pStrRecipient As String, _
                              ByVal pStrSubject As String, _
                              ByVal pStrHTMLBody As String, _
                              Optional ByVal pStrCc As String, _
                              Optional ByVal pStrBcc As String, _
                              Optional ByVal pColAttachments As Collection, _
                              Optional pIntPort = 25) As Boolean
        Dim cdoMsg    'As New CDO.Message
        Dim cdoConf    'As New CDO.Configuration
        Dim Flds
        Dim attachment
        'Dim strHTML

        On Error GoTo ErrTrap
        Const cdoSendUsingPort = 2

        Set cdoMsg = CreateObject("CDO.Message")
        Set cdoConf = CreateObject("CDO.Configuration")

        Set Flds = cdoConf.Fields

        With Flds
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort    '2
            'Sending using external server
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = pStrIpSmptServer   'change your smtp server here
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(pIntPort)    'server port using for email

            .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = RTrim(LTrim(pStrSenderAccount))    'account
            .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = RTrim(LTrim(pStrAccoPasword))    'password

            '.Item("http://schemas.microsoft.com/cdo/configuration/smtpaccountname") = "estados@coopemedicos.com" 'password

            .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"    'password

            .Update
        End With

        ' Apply the settings to the message.
        With cdoMsg
            Set .Configuration = cdoConf
            .To = pStrRecipient
            .From = pStrSenderAccount
            .Subject = pStrSubject
            '.TextBody = pStrBody
            .HtmlBody = pStrHTMLBody
            If Not pColAttachments Is Nothing Then
                For Each attachment In pColAttachments
                    .AddAttachment attachment
                Next
            End If
            If pStrCc <> "" Then .CC = strCc
            If pStrBcc <> "" Then .BCC = strBcc
            .send
        End With
      
    ErrTrap:
       
        Set cdoMsg = Nothing
        Set cdoConf = Nothing
        Set Flds = Nothing
       
    If Err.Number <> 0 Then
        Err.Raise Err.Number, "", "Error from Functions.SendEmail" & Err.Description
        sendEmail = False
    Else
     sendEmail = True
    End If
    End Function

    Y este el codigo html que esto utilizando para pasarlo a la funcion.

    strCodHmtl = "<html>" & _
                         "<head>" & _
                         "</head>" & _
                         "<Body>" & _
                         "<font size=2pt>Estimado asociado(a): <p>Para ti! Con mucho carino te mando este deseo, de feliz cumpleaños.</p> Le deseamos que pase un excelente d&iacute;a!!</font>" & _
                         "<p><IMG SRC=""image1.jpg""/></p>" & _
                         "</Body>" & _
                         "</html>"

    Cuando me  llega al correo solo puedo ver el texto y donde va la imagen me sale una X.

    Gracias por cualquier ayuda!

    viernes, 23 de noviembre de 2012 23:37
  • Observa el ejemplo de esta liga y fijate como le hace para poner los emoticons. Es lo mismo que tu deseas hacer...

    Saludos desde Mexico.


    EmmaRmz

    viernes, 23 de noviembre de 2012 23:42
  • por favor, mucho agradeceré publiquen cómo lo hicieron sin que esté en servidor web la imagen!!
    sábado, 24 de noviembre de 2012 2:27