Imprimir página | Cerrar ventana

mandar correos con thunderbird desde access

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=85916
Fecha de impresión: 28/Marzo/2024 a las 17:07


Tema: mandar correos con thunderbird desde access
Publicado por: acilu55
Asunto: mandar correos con thunderbird desde access
Fecha de publicación: 30/Marzo/2021 a las 19:30
tengo este códico para mandar un mail desde un formulario. 

'--------------
Set OUTAPP = CreateObject("outlook.Application")
Set OUTMAIL = OUTAPP.CreateItemFromTemplate(Application.CurrentProject.path & "\oficio.oft")

With OUTMAIL
.To = mail
.cc = ""
.bcc = ""
.BodyFormat = olFormatHTML
            
.Subject = "Verificacion de datos profesionales."
adjunto1 = Application.CurrentProject.path & "\nombre del adjunto1.pdf"
adjunto2 = Application.CurrentProject.path & "\monbre del adjunto2.pdf"

.Attachments.Add (adjunto1)
.Attachments.Add (adjunto2)


.Display
'.Send
End With
Set OUTMAIL = Nothing
Set OUTAPP = Nothing
'--------------------------------

Funciona perfectamente si el cliente tirne outlook, mi problema es que tiene Thunderbird como aplicación de correo.

¿alguien se le ocurre por donde puedo empezar para que el correo salga en Thunderbird?
Gracias de antemano





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



Respuestas:
Publicado por: rokoko
Fecha de publicación: 30/Marzo/2021 a las 20:03
Yo no tengo ni idea, pero buscando algo aparece.....

https://nksvaccessolutions.com/Foro/viewtopic.php?t=1320

https://www.google.com/search?q=Thunderbird+vba+acess&oq=Thunderbird+vba+acess&aqs=chrome..69i57.6255j0j1&sourceid=chrome&ie=UTF-8


Publicado por: acilu55
Fecha de publicación: 30/Marzo/2021 a las 20:34
tienen buena pinta investigará como solucionarlo. Parece que sendobject me dara problemas ya que necesito enviar dos adjuntos, si encuentro la solucion la pondre aqui.
Gracias Rokoko.



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


Publicado por: acilu55
Fecha de publicación: 31/Marzo/2021 a las 13:20
Solucionado:

'----------------------------------------------------------------------------------------------------------
'-------Código programado por Neckkito @ http://neckkito.siliconproject.com.ar
'-------Fecha creación: 10/10/15
'-------Fecha última modificación: 10/10/15
'-------Requisitos: requiere tener instalado Mozilla Thunderbird, ya sea la aplicación de escritorio como
' la aplicación portable
'-------Resumen: envía un correo electrónico utilizando el cliente de correo Mozilla Thunderbird
'-------A destacar: se utiliza un cuadro de lista para seleccionar varios destinatarios
'----------------------------------------------------------------------------------------------------------
'Declaramos las variables

'--------------------------------
'modificado por J. Acilu simplificando todo aquello que se conoce de inicio es no es necesario verificar no buscar en tablas de datos
'y añadir un segundo adjunto que hemos construidoi en el inicio del procedimiento"
'-------------------------------------------------------------


Dim laRutaT As String
Dim mailA As String, mailLista As String
Dim mailCC As String
Dim mailCCO As String
Dim elAsunto As String
Dim elBody As String
Dim elAdj1 As String
Dim elAdj2 As String ' añadida para el segundo adjunto
Dim miMail As String
Dim resp As Integer
Dim itemLista As Variant
'Comprobamos si se ha informado la ruta del ejecutable de Thunderbird en la tabla
laRutaT = "C:\Program Files\Mozilla Thunderbird\Thunderbird.exe"
mailA = DLookup("[correo]", "[localidades]", "[codigo]=" & CODIGO)
elAsunto = "Notificación de visado de expediente colegial "
elBody = " Adjunto le enviamos notificación de visado  del expediente" & Forms![mantenimiento de fases]![Nº de Encargo] & "_FASE-" & Forms![mantenimiento de fases]![Nº de fase]
elAdj1 = Application.CurrentProject.path & "\NOTIFICACION EXPEDIENTE" & Forms![mantenimiento de fases]![Nº de Encargo] & "_FASE-" & Forms![mantenimiento de fases]![Nº de fase] & ".pdf"
elAdj2 = Application.CurrentProject.path & "\Respuesta EXPEDIENTE" & Forms![mantenimiento de fases]![Nº de Encargo] & "_FASE-" & Forms![mantenimiento de fases]![Nº de fase] & ".pdf"


'----------------------------------------------------------------------------------------------------------------
'***Aquí empezamos la construcción de la cadena de línea de comandos. Lo voy a hacer atomizado para que podáis
'***entender claramente su estructura
'----------------------------------------------------------------------------------------------------------------
'*1.- La ruta del ejecutable debe ir entre comillas dobles (por si en la ruta indicada hay espacios en blanco)
'**** Añadimos esas comillas dobles a través de chr(34)
miMail = Chr(34) & laRutaT & Chr(34)
'*2.- a continuación debemos añadir la palabra "thunderbird" y activar el comando "-compose". A partir de aquí
'**** todo lo que construyamos irá entre comillas dobles. Por ello añadimos las comillas dobles iniciales con
'**** chr(34). ¡Ojo con los espacios en blanco!
miMail = miMail & " thunderbird -compose " & Chr(34)
'*3.- Para indicar el destinatario utilizamos "to=", y a continuación la dirección del destinatario. Pero, esa
'**** dirección debe ir entre comillas simples
miMail = miMail & "to='" & mailA & "'"
'*4.- Para indicar el destinatario en copia utilizamos "cc=", con la dirección entre comillas simples. Así pues
'**** comprobamos si hay destinatario en copia y, si lo hay, lo incluimos. Hay que tener en cuenta que a partir
'**** de aquí debemos separar los elementos del mail con una coma (,)
If mailCC <> "" Then
miMail = miMail & ",cc='" & mailCC & "'"
End If
'*5.- Lo mismo para el destinatario con copia oculta, identificado por "bcc=".
If mailCCO <> "" Then
miMail = miMail & ",bcc='" & mailCCO & "'"
End If
'*6.- A continuación añadimos el asunto, para lo cual utilizamos "subject=". Recordad que separamos los elementos
'**** del mail con una coma (,), y que el texto debemos entrecomillarlo con comillas simples.
miMail = miMail & ",subject='" & elAsunto & "'"
'*7.- Lo mismo para el texto del mensaje, para lo cual utilizamos "body=".
If elBody <> "" Then
miMail = miMail & ",body='" & elBody & "'"
End If

'*8.- El adjunto ("attachement=") requiere un tratamiento un poco más especial, dado que a partir de la versión
'**** 2.0 the Thunderbird debemos anteponerle "file:///". Así que...
'----------------------------
'añadida por j.Acilu la coma para introducir un segundo adjunto
'---------------------------------
miMail = miMail & ",attachment='file:///" & elAdj1 & "," & "file:///" & elAdj2 & "'"

'*9.- Ahora ya podemos cerrar las comillas dobles que os comentaba y que abrimos en el punto 2
miMail = miMail & Chr(34)
'Con la siguiente línea podemos ver la cadena que nos hemos creado en la ventana inmediato '(CTRL+G)
'Debug.Print miMail

'*10.- Llamamos al shell y se nos abrirá la ventana de Thunderbird con el mail
Call Shell(miMail, vbNormalFocus)
'----------------------------
'falta establecer la plantilla de firma del mensaje que dependerá del usuario final



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


Publicado por: acilu55
Fecha de publicación: 03/Abril/2021 a las 19:39
Parece ser que thunderbird tiene la "mala costumbre de utilizar para los correros nuevos la última plantilla utilizada, asi qie no me vale proponerle una plantilla para los envíos ya que si el usuario quiere mandar algún correo fuera de la aplicación le saldrá por defecto la plantilla enviada y no debe de ser así.
Solución: Confeccionar un .Htlm e insertarlo en el cuerpo del mensaje.

A falta de ideas mejores podeis cerrar el hilo


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



Imprimir página | Cerrar ventana