In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

consulta :sendmail()

FastReport for Xailer & [x]Harbour (English/Spanish)
Responder
datato
Mensajes: 49
Registrado: Vie Ene 10, 2014 9:41 pm

consulta :sendmail()

Mensaje por datato »

Hola a todos, quisiera consultarle a quien utilice Fastreport para enviar Email, pero desde la opción que veo en el manual de Bisoft :sendmail()


Consultas:
- En la versión actual se ha solucionado lo que leo en el manual que no se puede utilizar con servidores de correo con SSL

- Si lo anterior está solucionado, se puede enviar un solo correo de una vez a varios destinatarios

Muy agradecido por vuestra ayuda.
hgarciaj
Mensajes: 107
Registrado: Jue Sep 23, 2010 12:44 am

Re: consulta :sendmail()

Mensaje por hgarciaj »

Hola en la clase fastreport existe el evento onbtnsendmail que te permite definir como quieres que se comporte este proceso, para ello tienes que inhibir el diálogo de correo propio de fastreport y hacer tu propio diálogo y trabajar con anexos adicionales si requieres.
El complemento adecuado para el envío de correo es la clase cdomail donde puedes trabajar con servidores que requieren autenticación yo lo tengo funcionando sin problemas con servidores gmail (Sin doble autenticación), yahoo y con servidores smtp con ssl, si no te funcioanara la clase cdomail, puedes usar curl que es una librería gratuita y existe una clase en harbour. y si todo esto no te funciona puedes hacer un llamado a a outlook desde la funcion que asocies al evento onbtnsendmail
Saludos
Héctor García
datato
Mensajes: 49
Registrado: Vie Ene 10, 2014 9:41 pm

Re: consulta :sendmail()

Mensaje por datato »

Buenos dias, muchas gracias por responder.

Según entiendo, lo mejor es hacer la rutina de envio de email fuera de Fastreport para un mejor control del proceso.

Gracias.
Avatar de Usuario
bingen
Mensajes: 565
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: consulta :sendmail()

Mensaje por bingen »

Así es en FR solo has de desviar el email a tu propio código, en mi caso....
If FuncExists("FastReportSendMail")
::OnBtnSendMail:={|oSender| FastReportSendMail(oSender, ::aMailPara, ::cMailAsunto, ::cMailMensaje) }
Else
::OnBtnSendMail:={|| MsgInfo("Opción de envio de email no definida para este programa.") }
Endif

Y esta es la funcion a la que llamo que como ves recibe como primer parámetro el objeto FR

//Nuestro sistema de envio de email integrado en FastReport
FUNCTION FastReportSendMail( oFr, aPara, cAsunto, cMensaje )

LOCAL cTmpFile := Appdata:cDataTmp + CleanName( oFr:cReportName ,,,.T.) + ".Pdf"

Default aPara To {}
Default cAsunto To oFr:cReportName
Default cMensaje To ""

oFr:SetProperty( "PDFExport", "FileName", cTmpFile )
oFr:SetProperty( "PDFExport", "ShowDialog", .F. )
oFr:DoExport( "PDFExport" )

WITH OBJECT TFormEmail()
:aPara := aPara
:lPara := .T.
:cAsunto := cAsunto
:cMensaje := cMensaje
:aAdjuntos := { cTmpFile }
:cPlantilla := Appdata:cPlantillaEmail
:lAdjuntos := .F.
:lAcuse := .F.
:New()
:ShowModal()
END WITH

RETURN .T.

Como idea hay te queda.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Responder