Imprimir página | Cerrar ventana

Enviar mail con firma

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86807
Fecha de impresión: 26/Marzo/2026 a las 23:01


Tema: Enviar mail con firma
Publicado por: sanzlcr
Asunto: Enviar mail con firma
Fecha de publicación: 23/Octubre/2023 a las 16:04
utilizo la siguiente función para enviar facturas generadas en pdf por mail.

Set objmessage = CreateObject("CDO.Message")


objmessage.Subject = "FACTURA Nº" & numfactura
objmessage.FROM = """xxxx "" <xxx>"




objmessage.To = emaildestino



objmessage.addattachment ruta
objmessage.TextBody = Me.txtmensaje




'==This section provides the configuration information for the remote SMTP server.

objmessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

'Name or IP of Remote SMTP Server
objmessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.serviciodecorreo.es"

'Type of authentication, NONE, Basic (Base64 encoded), NTLM
objmessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic

'Your UserID on the SMTP server
objmessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xxx"

'Your password on the SMTP server
objmessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxxx"


'Server port (typically 25)587
objmessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465

'Use SSL for the connection (False or True)
objmessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True

'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)
objmessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

objmessage.Configuration.Fields.Update

'==End remote SMTP server configuration section==

objmessage.send


Me gustaría incluir la firma en el cuerpo del mail pero no se como 



Respuestas:
Publicado por: xavi
Fecha de publicación: 23/Octubre/2023 a las 19:26
Hola,

Hasta dónde yo se, mediante CDO, no es posible. Por automatización de Outlook si que se puede mandar un correo con la firma por defecto.

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: dokk
Fecha de publicación: 24/Octubre/2023 a las 13:07
Yo lo hice en su momento con una tabla de usuarios en la que guardaba los datos de usuario. email contraseña etc (no es lo más seguro del mundo, pero bueno). Añadí un campo de firma en el que guardaba una firma en formato html, de forma que cada usuario tenía su firma configurada. De hecho tenía varios campos con firmas en varios idiomas. 

Luego a la hora de crear el cuerpo del mensaje le añadía al final el contenido del campo de la firma et voilà. Mira, he localizado la función que usaba para el envío (yo la usaba con Gmail, pero dejó de funcionar porque cambiaron la seguridad y metieron la doble verificación):

Public Function SendSimpleCDOMail(Dest As String, enc As String, cuerpo As String, rutaEm As String)
    Const sprocname As String = "modCDO - SendSimpleCDOMail"
    On Error GoTo ErrorHandler
    Dim mail    As Object           ' CDO.MESSAGE
    Dim config  As Object           ' CDO.Configuration
    Dim ans As Integer
    Set mail = CreateObject("CDO.Message")
    Set config = CreateObject("CDO.Configuration")
    
    config.Fields(cdoSendUsingMethod).value = cdoSendUsingPort
    config.Fields(cdoSMTPServer).value = "smtp.gmail.com"
    config.Fields(cdoSMTPServerPort).value = 465
    config.Fields(cdoSMTPUseSSL).value = True
    config.Fields(cdoSMTPAuthenticate).value = cdoBasic
    config.Fields(cdoSendUserName).value = UsEm
    config.Fields(cdoSendPassword).value = ctrEm

    config.Fields.Update
    
    Set mail.Configuration = config
    
    With mail
        .To = Dest
        .From = nomEm & " <" & UsEm & ">"
        .Subject = enc
        .HTMLBody = cuerpo
        .HTMLBodyPart.Charset = "utf-8"
        .Send
    End With
    SendSimpleCDOMail = True
    Set config = Nothing
    Set mail = Nothing
End Function



-------------
Albert Hostein
Aprendiendo cayendo


Publicado por: sanzlcr
Fecha de publicación: 24/Octubre/2023 a las 13:10
hola,

He hecho algo similar, he subido la imagen que utilizan de firma al ftp y muestro el cuerpo del mensaje en formato html y así añado el link a la imagen.




Publicado por: acilu55
Fecha de publicación: 15/Noviembre/2023 a las 18:20
yo lo hacia usando una plantilla de mail que contiene la firma 

Set OUTAPP = CreateObject("Outlook.Application")
Set OUTMAIL = OUTAPP.CreateItemFromTemplate(Application.CurrentProject.Path & "\oficio.oft")
 ' oficio.oft es una plantila de mail con la firma
With OUTMAIL
.To = mail
.cc = ""
.bcc = ""
.BodyFormat = olFormatHTML
            
.Subject = "asunto del envio"
adjunto1 = Application.CurrentProject.Path & "\factura.pdf"

.Attachments.Add (adjunto1)
...


-------------
Gracias a todos de antemano


Publicado por: xavi
Fecha de publicación: 16/Noviembre/2023 a las 16:09
@acilu55 me gusta la idea. Te la pillo.

Gracioas


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: sanzlcr
Fecha de publicación: 02/Abril/2024 a las 16:33
Pueden proceder a cerrar el post. Al final como indiqué lo solucioné incluyendo link de la imagen de la firma



Imprimir página | Cerrar ventana