Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Enviar Emails Con Codigo Html Con El Componente Smtp De Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Enviar Emails Con Codigo Html Con El Componente Smtp De Gambas 
 
Buenas,

A partir de un hilo de discusion de este foro, pude realizar una aplicacion para enviar emails con adjuntos. Y me funciona perfectamente.

Me gustaria poder añidar una firma en formato html dentro del Body del email.

En principio por defecto el Body del componente Smtp de gambas  es text/plain;charset=utf-8 mimetype.

La idea es añadir al final del body del email una firma en codigo html.

He probado añadirla con Add, pero lo introduce como un fichero adjunto (como es
normal).

He probado a meter el codigo html a pelo con etiquetas html, y recibo el mismo codigo dentro del email sin interpretar.

¿ Alguien sabe si existe alguna forma de poder cambiar el mimetype del Body de text/plain a text/html o cualquier otra forma de insertar codigo html y que sea interpretado como tal en el Body del componente Smtp ?

Muchas gracias

gambas=3.9.90
OperatingSystem=Linux
Kernel=4.4.0-78-generic
Architecture=x86_64
Distribution=Ubuntu 16.04.2 LTS
Desktop=UNITY
Theme=Gtk
 



 
hecsalvi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Emails Con Codigo Html Con El Componente Smtp De Gambas 
 
Prueba ésto: Creas un módulo llamado mEmail (por ejemplo) y le insertas éste código:
Public Function sendmail(sFrom As String, aTo As String[], sSubject As String, sBody As String, cServer As Collection, Optional aBcc As String[], Optional aAttached As String[], Optional ldebug As Boolean) As Boolean

    Dim SmtpC As New SmtpClient
    Dim s, cad, fich, cmime, fname As String

    'cServer es una coleccion con los datos de conexión al servidor de correo (host, user,password y Encrypt)
    SmtpC.debug = ldebug
    SmtpC.host = cServer["host"]
    SmtpC.user = cServer["user"]
    SmtpC.password = cServer["password"]
    SmtpC.Encrypt = IIf(cServer["Encrypt"], cServer["Encrypt"], Net.SSL)
    SmtpC.Alternative = False
    SmtpC.From = sFrom
    For Each s In aTo
        SmtpC.To.Add(Replace(s, " ", "")) 'eliminamos los espacios en blanco, si los hubiera, de las direcciones (la gente es descuidada tecleando...)
    Next
    SmtpC.Subject = sSubject
    SmtpC.Add(sBody, "text/html", "")
    If Not IsNull(aAttached) Then
        For Each fich In aAttached
            Exec ["file", "-bi", fich] To cmime
            cmime = Left(cmime, InStr(cmime, ";") - 1)
            fname = Right(fich, - RInStr(fich, "/"))
            SmtpC.Add(File.Load(fich), cmime, fname)
        Next
    Endif
    If Not IsNull(abcc) Then
        For Each s In abcc
            SmtpC.bcc.Add(s)
        Next
    Endif
    SmtpC.send

    Return True

Catch

    Return False

End


En ese módulo yo tengo también metida una funcioncita que comprueba (hasta donde es posible) que la dirección sea correcta. No hace falta para enviar, pero ayuda en las depuraciones de los formularios de envío:
Public Function isMail(cad As Variant) As Boolean

    Dim lret As Boolean

    lret = True
    If InStr(cad, "@") = 0 Or InStr(Trim(cad), " ") > 0 Or InStr(cad, ".") = 0 Then
        lret = False
    Endif
    Return lret

End

 




===================
No podemos regresar
 
última edición por shordi el Lunes, 09 Octobre 2017, 11:09; editado 2 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Emails Con Codigo Html Con El Componente Smtp De Gambas 
 
Muchas Gracias Shordi!!

Me funciona perfectamente (de hecho el modulo ya lo tenia hecho a partir de un post tuyo) solo he cambiado mi linea,

SmtpC.Body = SBody

por la linea
    SmtpC.Add(sBody, "text/html", "")

Y voilà!!!

Ahora a bien editar todo el texto en html !!

Muchisimas gracias!!

Hèctor
 



 
hecsalvi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron