Hola , tengo un problema con este código, pues no he podido establecer como incorporara el cuerpo del mensaje (body) y cc o Bcc, todo lo demas funciona bien. aca te lo dejo haber como me puedes ayudar, muchas gracias.
[El propósito del código es enviar un mensaje a un destinatario determinado, con archivo adjunto, y asunto. Este ultimo se le incorpora la fecha de envio. El objetivo es automatizar este proceso ya que el mismo se hace diariamente .
Sub SendMail()
Dim MailAddress As String
Dim MessageSubject As String
Dim ThisDocURL As String
Dim DocDir As String
Dim FileName As String
Dim MailAgent As Object
Dim MailClient As Object
Dim MailMessage As Object
DIm ThisDoc As Object
Dim Args()
Dim Mailcc As Object
ThisDoc=ThisComponent
If ThisDoc.hasLocation=False Then
MsgBox "¡Debes guardar el documento primero!" :End
End If
ThisDocURL=ThisDoc.getURL()
If ThisDoc.isModified Then
ThisDoc.storeAsURL(ThisDocURL, Args)
End if
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then
GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
DocDir=DirectoryNameoutofPath(ThisDocURL, GetPathSeparator())
FileName=Dir(ThisDocURL, 0)
MailAddress="prueba@edelca.com.ve"
MessageSubject="Autogasto del " +Day(Now)+"/"+Month(Now)+"/"+Year(Now)
If GetGUIType=1 Then
MailAgent=CreateUnoService("com.sun.star.system.SimpleSystemMail")
Else
MailAgent=CreateUnoService("com.sun.star.system.SimpleCommandMail")
End If
MailClient=MailAgent.querySimpleMailClient()
MailMessage=MailClient.createSimpleMailMessage()
MailMessage.setRecipient(MailAddress)
MailMessage.setSubject(MessageSubject)
MailMessage.setAttachement(Array(ThisDocURL))
MailClient.sendSimpleMailMessage(MailMessage, 1)
End Sub
Mucho sabré agradecer quien pueda ayudarme, ya que no encuentro la forma de incorporar en el método el cuerpo del mensaje, he probado con varias alternativa pero nada...
[RESUELTO] Enviar Mensaje
[RESUELTO] Enviar Mensaje
OpenOffice.org 3.1.0
Re: Enviar Mensaje
Hola...
Es muy interesante esto que planteas.
Como puedes ver en la imagen anexa y en el vinculo al API: http://api.openoffice.org/docs/common/r ... ssage.html
La interfaz XSimpleMailMessage no implementa algún método para establecer el cuerpo (Body) del mensaje Para insertar con copia CC, usa el método setCcRecipient, aunque en mis pruebas no pude agregar más de un destinatario.
También puedes hacer uso de la instrucción mailto por Shell como en el siguiente ejemplo, solo que en este formato no pude hacer que tome el archivo adjunto.
Dependiendo de que cliente de correo estés usando y si usas Windows, puedes usar automatización para controlar este cliente, por ejemplo, MS Outlook (no Express):
En los foros en ingles encontré una forma de hacerlo directamente con servidor SMTP y puertos (aun no lo pruebo): http://www.oooforum.org/forum/viewtopic.phtml?t=42500
El API de OOo tiene una completa interfaz para la conectividad por correo electrónico: http://api.openoffice.org/docs/common/r ... le-ix.html
Solo falta investigar un poco y ponerla a trabajar.
Saludos
Es muy interesante esto que planteas.
Como puedes ver en la imagen anexa y en el vinculo al API: http://api.openoffice.org/docs/common/r ... ssage.html
La interfaz XSimpleMailMessage no implementa algún método para establecer el cuerpo (Body) del mensaje Para insertar con copia CC, usa el método setCcRecipient, aunque en mis pruebas no pude agregar más de un destinatario.
Código: Seleccionar todo
MailMessage.setCcRecipient( Array("correo@dominio.com") )
Código: Seleccionar todo
Sub Correo_Mailto()
Dim oShell As Object
oShell = createUnoService("com.sun.star.system.SystemShellExecute")
'%0D%0A Te permite agregar un saldo de línea en el mensaje
oShell.Execute("mailto:mauricio@gmail.net" & _
"?Subject=Prueba de correo" & _
"&CC=mauricio@gmail.com,mauricio@yahoo.com" & _
"&Body=Hola, por favor confirma este correo.%0D%0A%0D%0ASaludos" & _
"%0D%0A" & Environ("username") , "", 0)
End Sub
Dependiendo de que cliente de correo estés usando y si usas Windows, puedes usar automatización para controlar este cliente, por ejemplo, MS Outlook (no Express):
Código: Seleccionar todo
oleService = createUnoService("com.sun.star.bridge.OleObjectFactory")
oOutlook = oleService.createInstance("Outlook.Application")
El API de OOo tiene una completa interfaz para la conectividad por correo electrónico: http://api.openoffice.org/docs/common/r ... le-ix.html
Solo falta investigar un poco y ponerla a trabajar.
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Enviar Mensaje
Buena información mauricio, seguiré investigando para documentarme mucho mas en esta programación, pues como veras soy nuevo en este ambiente . Probe lo que enviaste y resolví el envío a CC . En cuanto a lo que me comentas de enviar a varios destinatarios yo lo resolvi creando un grupo de envío y lo coloco en el código de la siguiente manera conteniendo prueba varios correos
MailAddress="prueba <prueba>"
no he probado incorporara el cuerpo del mensaje, cuando lo haga te informo como me fue... estamos en contacto y muchas gracias
MailAddress="prueba <prueba>"
no he probado incorporara el cuerpo del mensaje, cuando lo haga te informo como me fue... estamos en contacto y muchas gracias
OpenOffice.org 3.1.0
Re: Enviar Mensaje
Hola...
No dejes de publicar la respuesta si encuentras la forma de agregar el cuerpo del mensaje de forma directa...
Saludos
P.D. ¿Podemos dar por RESUELTO este tema (mientras)?
No dejes de publicar la respuesta si encuentras la forma de agregar el cuerpo del mensaje de forma directa...
Saludos
P.D. ¿Podemos dar por RESUELTO este tema (mientras)?
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Enviar Mensaje
Hola, por ahora pienso que si lo podemos dar por resulto. Estaremos en contacto si logro incorporar el BODY del mensaje... Hasta pronto ...
OpenOffice.org 3.1.0