¿Alguna funcion para enviar email desatendido xHarbour?

¿Alguna funcion para enviar email desatendido xHarbour?

Postby JoseAlvarez » Sun Jan 24, 2021 5:00 pm

Hola a todos. Feliz Tarde de Domingo-

¿Puede alguien darme una mano para enviar emails desatendido con FW17.01+xHarbour?

Lo que necesito es que el sistema envie un correo con datos predeterminados y en tiempo de ejecucion, y que sea transparente para el usuario, o sea en segundo plano.

Alguna funcion y codigo de ejemplo?

Agradecido de antemano con todos.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 801
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby VictorCasajuana » Sun Jan 24, 2021 6:08 pm

Para enviarlos en segundo plano, creo que la solución es utilizar threads.
Hay un ejemplo en \samples\threads.prg
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby JoseAlvarez » Sun Jan 24, 2021 6:57 pm

Hola Victor.
Gracias por tu ayuda.

Ya revise lo que me indicaste pero no veo nada parecido a envios de email.
A menos que yo no entienda de que se trata ese .PRG

Igual sigo buscando...

Muchas Gracias por la colaboracion. Si tienes alguna otra sugerencia, quedo al pendiente.

Saludos.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 801
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby VictorCasajuana » Sun Jan 24, 2021 7:44 pm

Disculpa, me he explicado a medias.

Threads te servirá para ejecutar el envío de los emails en segundo plano sin que se te pare la ejecución del programa hasta que el email se haya enviado.

Otro tema es el envío de emails, para eso puedes mirar el ejemplo testpop3.prg

Espero que con esto te sirva.

Un saludo.
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby karinha » Sun Jan 24, 2021 11:06 pm

VictorCasajuana wrote:Disculpa, me he explicado a medias.

Threads te servirá para ejecutar el envío de los emails en segundo plano sin que se te pare la ejecución del programa hasta que el email se haya enviado.

Otro tema es el envío de emails, para eso puedes mirar el ejemplo testpop3.prg

Espero que con esto te sirva.

Un saludo.


NO.

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7844
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby JoseAlvarez » Sun Jan 24, 2021 11:37 pm

VictorCasajuana wrote:Disculpa, me he explicado a medias.

Threads te servirá para ejecutar el envío de los emails en segundo plano sin que se te pare la ejecución del programa hasta que el email se haya enviado.

Otro tema es el envío de emails, para eso puedes mirar el ejemplo testpop3.prg

Espero que con esto te sirva.

Un saludo.


OOOOkkkkk... gracias por la aclaratoria.. eso tambien es importante, que no se detenga la ejecucion del programa. ya estaba pensando colocar un meter, con eso que dices no hace falta

Mil gracias de nuevo victor !!
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 801
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby JoseAlvarez » Sun Jan 24, 2021 11:39 pm

karinha wrote:
VictorCasajuana wrote:Disculpa, me he explicado a medias.

Threads te servirá para ejecutar el envío de los emails en segundo plano sin que se te pare la ejecución del programa hasta que el email se haya enviado.

Otro tema es el envío de emails, para eso puedes mirar el ejemplo testpop3.prg

Espero que con esto te sirva.

Un saludo.


NO.

Saludos.


¿¿ NO ??
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 801
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby VictorCasajuana » Mon Jan 25, 2021 7:59 am

JoseAlvarez wrote:
VictorCasajuana wrote:Disculpa, me he explicado a medias.

Threads te servirá para ejecutar el envío de los emails en segundo plano sin que se te pare la ejecución del programa hasta que el email se haya enviado.

Otro tema es el envío de emails, para eso puedes mirar el ejemplo testpop3.prg

Espero que con esto te sirva.

Un saludo.


OOOOkkkkk... gracias por la aclaratoria.. eso tambien es importante, que no se detenga la ejecucion del programa. ya estaba pensando colocar un meter, con eso que dices no hace falta

Mil gracias de nuevo victor !!


de nada Jose, un apunte al respecto, utilizar Threads da mucha posibilidades pero has de tener cuidado con algunas cosas, piensa que son varios procesos paralelos que ejecuta tu aplicación. dichos procesos utilizarán las mismas variables públicas y si utilizas CLASSDATA también. Controla bien esto o te puede llevar un quebradero de cabeza al principio. También tienes forma de "matar" los procesos y comunicarte entre ellos.
En este enlace puedes ver más infor de como funcionan los threads, a mi me sirvió de mucho: http://www.kresin.ru/en/hrbfaq_3.html#Doc11
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby VictorCasajuana » Mon Jan 25, 2021 8:00 am

karinha wrote:
VictorCasajuana wrote:Disculpa, me he explicado a medias.

Threads te servirá para ejecutar el envío de los emails en segundo plano sin que se te pare la ejecución del programa hasta que el email se haya enviado.

Otro tema es el envío de emails, para eso puedes mirar el ejemplo testpop3.prg

Espero que con esto te sirva.

Un saludo.


NO.

Saludos.


Disculpa, no entiendo bien tu respuesta...
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby JoseAlvarez » Mon Jan 25, 2021 12:04 pm

VictorCasajuana wrote:
karinha wrote:
VictorCasajuana wrote:Disculpa, me he explicado a medias.

Threads te servirá para ejecutar el envío de los emails en segundo plano sin que se te pare la ejecución del programa hasta que el email se haya enviado.

Otro tema es el envío de emails, para eso puedes mirar el ejemplo testpop3.prg

Espero que con esto te sirva.

Un saludo.


NO.

Saludos.


Disculpa, no entiendo bien tu respuesta...


Victor ya estoy ptobando lo que me sugeriste. la respuesta que ves NO es del amigo joao. yo tampoco la entendi.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 801
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby Rick Lipkin » Mon Jan 25, 2021 3:05 pm

Jose

If your client desktops are using MS OUtlook .. this code works well ...

Code: Select all  Expand view  RUN

Try
   oOutLook  := TOleAuto():New("Outlook.Application")
Catch
    Saying := "For some Odd reason The Outlook e-mail CLient failed to Initialize"
    Msginfo( Saying )
    Return(.f.)
End Try

oMailItem := oOutLook:Invoke("CreateItem", 0)

oMailitem:to := cTo
*oMailItem:Recipients:Add( cOther )
oMailitem:CC := cCC
oMailItem:Subject := cSubject
oMailItem:Body := cBody

Try
   oMailItem:Attachments:Add("c:\dbtmp\"+cEmailName+".pdf" )
Catch
End Try

oMailItem:display(.F.)        // sends without any intervention
oMailItem:Invoke("
Send")
sysrefresh()


msginfo( "
E-mail Sent" )



Rick Lipkin
User avatar
Rick Lipkin
 
Posts: 2666
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby Armando » Mon Jan 25, 2021 6:05 pm

Rick:

Thanks for your code.

I have a couple of questions for you.

First question, how can I know that the mailing failed?

Second question, your code works well, when sending the
mail shows me Outlook screen for a few seconds, is there a way to avoid it?

Best regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3231
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby JoseAlvarez » Mon Jan 25, 2021 9:22 pm

Rick Lipkin wrote:Jose

If your client desktops are using MS OUtlook .. this code works well ...

Code: Select all  Expand view  RUN

Try
   oOutLook  := TOleAuto():New("Outlook.Application")
Catch
    Saying := "For some Odd reason The Outlook e-mail CLient failed to Initialize"
    Msginfo( Saying )
    Return(.f.)
End Try

oMailItem := oOutLook:Invoke("CreateItem", 0)

oMailitem:to := cTo
*oMailItem:Recipients:Add( cOther )
oMailitem:CC := cCC
oMailItem:Subject := cSubject
oMailItem:Body := cBody

Try
   oMailItem:Attachments:Add("c:\dbtmp\"+cEmailName+".pdf" )
Catch
End Try

oMailItem:display(.F.)        // sends without any intervention
oMailItem:Invoke("
Send")
sysrefresh()


msginfo( "
E-mail Sent" )



Rick Lipkin


hello rick
Thanks for your collaboration and for the code.
To send mail, I use a function since 2000 very simple and effective.
It works the same as yours, but in this case I cannot allow that a copy of the mail stay on the sent folder of user's machine because it will be used to send the request for a security key generated by the system.
If remain a copy of the mail in the outlook or any other administrator such as thumderbird, incredimail, etc., the user who requests it will be able to see it in the SENT folder since the program generates the password and sends it to the administrator of the system for aprobation. I hope I have explained myself.

This is an example of the code i have been using for years

Code: Select all  Expand view  RUN
Static function doit(cNombreE,cMailE,aCustomer)

local oMail
local cSubject := 'LG Electronics De Venezuela, C.A. (Su orden de reparacion/chequeo ha sido procesada)'
local cMessage := 'Estimado(s) Sr(es).: '+cNombreE+CRLF

DEFINE MAIL oMail SUBJECT cSubject TEXT cMessage

  oMail:aRecipients = aCustomer

ACTIVATE MAIL oMail

return .t.
 


As you can see, it is very simple and basic, but so far it has worked well for me.
Any suggestions to do it in the background and without using any mail manager?
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 801
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby JoseAlvarez » Mon Jan 25, 2021 9:28 pm

Armando wrote:Rick:

Thanks for your code.

I have a couple of questions for you.

First question, how can I know that the mailing failed?

Second question, your code works well, when sending the
mail shows me Outlook screen for a few seconds, is there a way to avoid it?

Best regards


Armando, el código que le mostré a rick, no muestra ni abre el administrador de correo que yo uso que es el THUNDERBIRD, todo es transparente al usuario.
No se como se comportará con el outlook.

Para afinarla más, se le podría agregar un par de cosas, como un mensaje indicando si el correo se envió con éxito o no y un gif de espera que indique que esta siendo enviado el correo.

Si lo haces y te funciona, te acuerdas de este amigo :D
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 801
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Postby Rick Lipkin » Tue Jan 26, 2021 2:57 pm

Armondo

Use try\catch
Code: Select all  Expand view  RUN

Try
   oOutLook: = TOleAuto ( ) : New ( "Outlook.Application" )
Catch
    Saying: = "For some Odd reason The Outlook e-mail CLient failed to Initialize"
    Msginfo ( Saying )
    Return ( .f. )
End Try


 


Rick Lipkin
User avatar
Rick Lipkin
 
Posts: 2666
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 82 guests