Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-11-2012
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Poder: 14
Vales08 Va por buen camino
Envio de email automaticamente

Buenas tardes, es la primera vez que me toca programar envio de email, por lo tanto estoy muy desorientada.. Les comento lo que necesito para ver si me pueden ayudar, eh visto mucho codigo pero no se por donde empezar..

Estoy haciendo un programa que cumple la funcion de otorgar turnos para un hospital. Se permite el ingreso de pacientes, profesionales, turnos, historias clinicas y demas.. Lo que yo necesito es que cuando se genere un turno a tal dia y tal fecha a determinado paciente, se le comunique automaticamente a dicho paciente de su turno con la fecha y la hora..
No necesito armar un formulario con edit y un memo para crear un correo porque no es la idea..
Cada paciente tiene cargado su email, por lo tanto se le tendria que mandar el correo a ese email automáticamente..

No se si habra algun codigo de este estilo que necesito..

Muchas gracias de antemano.. Estoy utilizando Delphi 7
Responder Con Cita
  #2  
Antiguo 04-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Vales.

Justamente se trató un tema similar hoy en este hilo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 04-11-2012
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Poder: 14
Vales08 Va por buen camino
Muchas gracias por sus aportes, voy a probar con todo esto para ver si logro lo que quiero...
Responder Con Cita
  #5  
Antiguo 06-11-2012
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Arrow Ejemplo

Estimado, no sé si es exactamente lo que necesitas, en mi caso me toco hacer algo similar para otros propósitos y pase varios días rebuscando el cómo ajustar los códigos y ayudas (invaluables por lo demás) que amablemente (a pesar de lo pregunton y bruto para entender que soy) los integrantes de CLUBDELPHI me fueron dando, mas menos te explico y dejo mi código modificado mas menos a tu idea para orientarte al respecto:
SI necesitas que se envié automático al generar X acción (generar orden, guardar info, hora especifica, etc) la mejor opción (de todas las que probé la que mejor funciona para este caso) es usar de las indy el "IdMessage" e "IdSMTP".
El IdSMTP lo rellenas con los datos de la cuenta que enviara el mail (Host, Password, port, username) ahora a definir cuales serian los pasos previos antes de enviar el mail.
Supongo que al generar la orden debes tener los datos del paciente, el día, la fecha y el doc que lo va a atender, dependiendo de cómo trabajes esta info puedes guardarla en una variable u obtenerlas directamente de la base de datos (en este caso ni idea cual usas, yo utilizo mysql).
Ahora el código según todo esto debería quedar algo así:

Código Delphi [-]
procedure TEnvioConsultas.Button1Click(Sender: TObject);
var
Lista: String;
begin

....
....
....

BDatos.RegConsulta_T.Edit;
BDatos.RegConsulta_T.FieldbyName ('EstadoConsulta').AsString:= 'Enviado';
BDatos.RegConsulta_T.FieldbyName ('FechaGeneracion').AsDateTime:= now;
BDatos.RegConsulta_T.Post;

IdMessage1.ContentType := 'text/plain';
IdMessage1.CharSet := 'UTF-8';
IdMessage1.Recipients.EMailAddresses := Lista;
IdMessage1.From.Address:= 'sistemaconsulta@matasanos.org';
IdMessage1.Subject:='Clinica Matasanos - Consulta';
IdMessage1.Body.Text:=
'Para su información :' + #13#10 + #13#10 +
                   'El usuario/a '+ BDatos.RegConsulta_T.FieldbyName('Usuario').asString +
                   ' ha ingresado su consulta ' + BDatos.RegConsulta_T.FieldbyName('Consulta').asString +
                   ', Orden N° '+ BDatos.RegConsulta_T.FieldbyName('Orden').asString + ' Con fecha '+ BDatos.RegConsulta_T.FieldbyName('FechaIngreso').asString +'''' +  #13#10 +
                   'Area/Especialista:'+ BDatos.RegConsulta_T.FieldbyName('AreaEspecialista').asString + '''' + #13#10 +
                   'Doctor: : '+ BDatos.RegConsulta_T.FieldbyName('Doctor').asString +'''' + #13#10 +
                   'Descripción de la consulta: '+ BDatos.RegConsulta_T.FieldbyName('DesCOnsulta').asString +''''+ #13#10 +
                   'Por favor comunicarse a la brevedad para confirmar la hora y asistencia.' + #13#10 +
                   '' + #13#10 +
                   'Atte.' + #13#10 +
                   'Clinica Matasanos, si lo matamos Dios asi lo quiso, si queda vivo es por que somos los mejores.';
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
Close;
  MessageBox(Handle,
             PChar('La consulta fue ingresada con exito.' + #13#10 +
                   'Consulta N° ' + DBEdit1.Text +'.'),
             PChar('Clinica Matasanos'),
             MB_OK + MB_ICONINFORMATION + MB_DEFBUTTON1 + MB_APPLMODAL);
end;


Es una forma sencilla de enviar mails predefinidos y automaticos, hasta el momento nunca he tenido problemas con este codigo y cada vez que necesito hacer un autoenvio despeus de ciertas condiciones utilizo algo como esto.

El RegConsulta_T es un Table, cambio de nombre para pdoer identificarlos mas facil, en la linea "IdMessage1.Recipients.EMailAddresses := Lista;" la palabra lista la tengo como variable por si necesitas enviar este mail a mas de una persona u/o registro, puedes tratar eso como mejor estimes.

Espero no haber lateado mucho y estar mas menos cercano a lo que necesitas, me han ayudado demasiado y he aprendido mucho en Club Delphi como para no intentar al menos devolver la mano con personas que se topan con los mismos problemas que uno ya ha solucionado, ojala te sirva todo esto, estare pendiente a tus comentarios.
Saludos!!!

PD: alguien me puede decir por que demonios me quedo "corrida" la respuesta (mas grande que los otras respuestas)???

Última edición por Lenny fecha: 06-11-2012 a las 16:50:31. Razón: Complemento al codigo
Responder Con Cita
  #6  
Antiguo 06-11-2012
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Poder: 14
Vales08 Va por buen camino
Muchas gracias Lenny, precisamente estaba necesitando algo asi, lo voy a probar y consultar con mi director de tesis, Ojala funcione y no tenga mayor dificultad..
Es muy cierto, yo tambien eh aprendido y me han ayudado muchos los de foro club delphi.. Es por ello que siempre acudo a ustedes porque se que es informacion y ayuda confiable..

Los estare informando como me fue..

PD: para mi te quedo muy largo porque el codigo delphi era largo y te extendio el cuadrado de la respuesta mas ancho..

Muchas gracias.-
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como enviar un email automaticamente con PHP JoAnCa PHP 3 09-03-2010 22:06:34
Envio de email con ProgressBar MaMu Internet 3 28-04-2008 05:35:27
Envio de Email al cambiar la IP Caral Varios 6 11-03-2008 02:28:53
Envio de email luisneria Internet 2 27-04-2007 12:17:30
envio de email. condor Varios 2 27-05-2004 15:28:22


La franja horaria es GMT +2. Ahora son las 10:57:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi