¿Alguna funcion para enviar email desatendido xHarbour?

User avatar
JoseAlvarez
Posts: 201
Joined: Sun Nov 09, 2014 5:01 pm

¿Alguna funcion para enviar email desatendido xHarbour?

Post by JoseAlvarez »

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..."
User avatar
VictorCasajuana
Posts: 30
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs
Contact:

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by VictorCasajuana »

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
JoseAlvarez
Posts: 201
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by JoseAlvarez »

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..."
User avatar
VictorCasajuana
Posts: 30
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs
Contact:

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by VictorCasajuana »

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
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by karinha »

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
User avatar
JoseAlvarez
Posts: 201
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by JoseAlvarez »

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..."
User avatar
JoseAlvarez
Posts: 201
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by JoseAlvarez »

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..."
User avatar
VictorCasajuana
Posts: 30
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs
Contact:

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by VictorCasajuana »

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: 30
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs
Contact:

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by VictorCasajuana »

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
JoseAlvarez
Posts: 201
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by JoseAlvarez »

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..."
User avatar
Rick Lipkin
Posts: 2397
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by Rick Lipkin »

Jose

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

Code: Select all

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
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by Armando »

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
JoseAlvarez
Posts: 201
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by JoseAlvarez »

Rick Lipkin wrote:Jose

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

Code: Select all

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

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..."
User avatar
JoseAlvarez
Posts: 201
Joined: Sun Nov 09, 2014 5:01 pm

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by JoseAlvarez »

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..."
User avatar
Rick Lipkin
Posts: 2397
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: ¿Alguna funcion para enviar email desatendido xHarbour?

Post by Rick Lipkin »

Armondo

Use try\catch

Code: Select all

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
Post Reply