PDA

Ver la Versión Completa : merge mail


PiPerraK
30-08-2005, 15:59:04
hola, tengo una aplicación de control de veterinaria, peluquería canina y tal. También tengo una agenda hecha, pero mi duda es la siguiente, ¿cómo podría hacer para mandarle un correo automáticamente a un cliente un día antes de su cita?
He puesto merge mail porque creo que es ése el nombre que se le da. Espero vuestra ayuda con impaciencia, gracias!!!

dec
30-08-2005, 16:12:45
Hola,

¿Dónde está el problema? ¿En enviar el correo? ¿En comprobar que la cita del cliente está próxima? Para lo primero, puedes hacerlo con los componentes Indy (http://www.indyproject.org/), por ejemplo. Aquí hay un ejemplo (http://www.clubdelphi.com/foros/showthread.php?t=23265), pero, a poco que busques (http://www.clubdelphi.com/foros/search.php?) encontrarás otros.

Para lo segundo, supongo que tendrás que montártelo de alguna manera. No sé, quizás al iniciar tu programa puedas recorrer los clientes con citas y, en función de la fecha "actual" comprobar si la cita de alguno de los clientes está próxima.

Echa un vistazo a la unidad "DateUtils" y las rutinas que encuentras en ella para trabajar con fechas. Sería cuestión de comprobar que la fecha de la cita de un cliente es justo un día "más" que la fecha actual y, si es así, mandarle el correo que le informe de ello.

dec
30-08-2005, 16:23:37
Hola,

¿Un ejemplo? Supongamos que tenemos la fecha de la cita de un cliente en la variable "fechaCita", en este caso de tipo "string". Es suficiente con la función "DaysBetween" para calcular si dicha fecha es un día "más" que la fecha actual:


var
fechaCita: string;
begin
fechaCita := '31/08/2005';
if DaysBetween(Date, StrToDate(fechaCita)) = 1 then
ShowMessage('Enviar un correo al cliente');
end;

PiPerraK
30-08-2005, 16:49:07
ey! muchas gracias, dec.

pero tengo un problemilla, no tengo ni idea de cómo se usan los componentes indy, ni de cuál habría que usar en este caso para envíar el correo. Estoy algo perdido con los componentes indy :(

Si pudieras echarme una manilla me sería de gran utilidad.
Muchas gracias!

dec
30-08-2005, 16:53:11
Hola,

No se me ocurre una mejor ayuda que el ejemplo (http://www.clubdelphi.com/foros/showpost.php?p=96552&postcount=3) que te enlazo más arriba. Ahí se ven las unidades que son necesarias (en la cláusula Uses) y en realidad no necesitas situar ningún componente en formulario alguno: en el ejemplo se crean los componentes precisos y se destruyen luego, una vez enviado el correo. Pruébalo y si te surge algún problema en concreto aquí estamos para lo que haga falta.