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)
datato
Posts: 49
Joined: Fri Jan 10, 2014 9:41 pm

consulta :sendmail()

Postby datato » Tue Dec 04, 2018 7:25 am

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
Posts: 79
Joined: Thu Sep 23, 2010 12:44 am

Re: consulta :sendmail()

Postby hgarciaj » Sat Dec 08, 2018 12:09 am

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
Posts: 49
Joined: Fri Jan 10, 2014 9:41 pm

Re: consulta :sendmail()

Postby datato » Tue Dec 11, 2018 6:58 am

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.
User avatar
bingen
Posts: 356
Joined: Mon Jul 07, 2014 8:17 pm
Location: Bilbao
Contact:

Re: consulta :sendmail()

Postby bingen » Thu Dec 13, 2018 12:57 pm

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

Return to “FastReport”