Hola a todos.
Necesito que mi programa envíe un correo ya predeterminado, en segundo plano, es decir, sin ninguna intervencion del usuario.
Es para cuando alguna persona olvide su password de entrada al sistema. Deberá oprimir el boton "recuperar contraseña" y que el sistema le envie una nueva contraseña temporal al correo registrado en su ficha personal al momento en que fue creado. Solo deberá ver la acción de "Nueva contraseña envida" o "No se pudo enviar el correo"
Siempre se enviará desde la misma cuenta de correo, el mismo ID, el msimo asunto, el mismo cuerpo del correo, solo cambiará la nueva contraseña que será generada de manera aleatoria.
Todo debe hacerse automático,
Alguna ayuda?
Gracias !
Enviar mail en segundo plano
- JoseAlvarez
- Posts: 810
- Joined: Sun Nov 09, 2014 5:01 pm
Enviar mail en segundo plano
"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.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Enviar mail en segundo plano
Code: Select all | Expand
#Include "FiveWin.Ch"
*-------------------------------------------------*
Function Mail(cdestino)
*-------------------------------------------------*
LOCAL loCfg, loMsg, oError, isError := .F., oRep, oPrn
local cSMTP := "smtp.gmail.com"
Local cPuerto := 465
Local cLogin := "tu_mail@gmail.com"
Local cPassword := "tu_password"
local cRemitente:= "<Tu Sistema>"
*Local cDestino := "<cgomez@mercedes.gob.ar>"
Local cAsunto := "Recuperacion de contraseña"
Local cMensaje := "Adjuntamos Su nueva contraseña"+CHR(10)+ContraseñaAleatoria() // Esta funcion deberia devolverte la contraseña
local cSSL := .T., cAuth := .T.
local cFichero := nil
// Control autentificación via SSL
cSSL := .T.
// Internet
loCfg := CREATEOBJECT( "CDO.Configuration" )
WITH OBJECT loCfg:Fields
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ):Value := cSMTP // "smtp.gmail.com"
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ):Value := cPuerto //465
:Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ):Value := 2
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := cAuth //.T.
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ):Value := cSSL // .T.
:Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" ):Value := cLogin //tu cuenta de correo de salida
:Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" ):Value := cPassword //"" //con tu clave gmail. en este caso
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"):Value := 30
:Update()
END WITH
loMsg := CREATEOBJECT ( "CDO.Message" )
WITH OBJECT loMsg
:Configuration = loCfg
:From = cLogin
:To = cDestino
:Subject = cAsunto
:MDNRequested = .T.
:TextBody = cMensaje
:Send()
END WITH
IF isError = .F.
MsgInfo( "Mensaje enviado correctamente", " A V I S O " )
ELSE
MsgStop("ERROR: Se ha producido un error al enviar un mensaje al buzon "+cDestino+CRLF+CRLF+"Descripción del Error: "+oError:Description, " E R R O R ")
ENDIF
return nil
- karinha
- Posts: 7935
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
- JoseAlvarez
- Posts: 810
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Enviar mail en segundo plano
Estimados CMSoft y Karinha.
Por motivos de viaje estuve alejado de la PC por varios dias. Ya regresé y consigo las respuestas a mi consulta.
Gracias una vez más por su ayuda. Siempre estan presentes. Muchísimas gracias.
CMSoft, ya probé el código que pusiste.. funciona al 100%. Agradecido !
Karinha, ya descargué el .zip que me indicas, voy a darle una mirada y te comento.
Saludos y que viva el foro !
Por motivos de viaje estuve alejado de la PC por varios dias. Ya regresé y consigo las respuestas a mi consulta.
Gracias una vez más por su ayuda. Siempre estan presentes. Muchísimas gracias.
CMSoft, ya probé el código que pusiste.. funciona al 100%. Agradecido !
Karinha, ya descargué el .zip que me indicas, voy a darle una mirada y te comento.
Saludos y que viva el foro !
"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.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Enviar mail en segundo plano
Me alegra que te haya sido de utilidad. Espero que el viaje haya sido placentero!!
Abrazo
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Abrazo