Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Mandar un correo (https://www.clubdelphi.com/foros/showthread.php?t=19664)

bersekeer 21-03-2005 23:16:51

Mandar un correo
 
Hola a todos

Estoy tratando de enviar un correo mediante el shellexecute y mailto, en un principio sin problemas. El mensaje lo compongo desde una base de datos, pero el correo no se envia, se queda la ventana del correo abierta. Me gustaria enviar a esta ventana del correo la combinacion de teclas Alt+N para que el correo se envie de forma automatica pero no lo consigo. Mis preguntas son:
1-> Para mandar la combinacion de teclas uso keybd_event pero no funciona. Al usar windows XP no estoy seguro de que funcione. ¿Alguien me lo podria confirmar?
2-> Mi segunda pregunta es acerca de los handle. No estoy muy seguro de estar enviado las pulsaciones a la ventana correcta pero keybd_event no especifica el handle. ¿Existe algun modo de especificarlo?

Gracias a todos por adelantado

Urano 22-03-2005 00:17:04

Hola.
Segun Delphi3000.com si pones 'Send' en lugar de 'Open', funciona.

En estos foros ya hay c+odigo para mandar mail con Indy, ,yo así lo hago y no he tenido problemas.


Saludos.

bersekeer 22-03-2005 01:32:15

Enviar correo
 
Hola
El problema del indy es que necesitas conocer el nombre de servidor de correo. Usando mailto usas la configuracion del cliente de correo y te olvidas.

Ahora mismo el codigo que uso es:

//Montar correo
ShellExecute (Handle, 'open',pchar('mailto:'+correo +'?Subject='+Asunto+'&Body='+CuerpoCorreo), nil, pchar(camino), 1);

//Simular combinacion de teclas "Alt+a"(archivo) y "e"(enviar)
KeybdInput(VK_MENU, 0); // Alt
KeybdInput(VkKeyScan('a'), 0); // a
KeybdInput(VkKeyScan('a'), KEYEVENTF_KEYUP); // a
KeybdInput(VK_MENU, KEYEVENTF_KEYUP); // Alt
KeybdInput(VkKeyScan('e'), 0); // e
KeybdInput(VkKeyScan('e'), KEYEVENTF_KEYUP); //e
SendInput(KeyInputCount, KeyInputs[0], SizeOf(KeyInputs[0]));

con keybdinput para cargar los arrays pero no funciona pues lo unico que consigo es escribir la letra e tras la direccion del destinatario

Codigo de http://blog.csdn.net/safef8/archive/...24/266477.aspx

¿Podeis echarme una mano?

Urano 24-03-2005 06:55:43

Cita:

Empezado por bersekeer
Hola

Ahora mismo el codigo que uso es:

//Montar correo
ShellExecute (Handle, 'open',pchar('mailto:'+correo +'?Subject='+Asunto+'&Body='+CuerpoCorreo), nil, pchar(camino), 1);

¿Ya intentaste el "send"?

bersekeer 24-03-2005 16:31:42

Mandar un correo
 
Hola Urano

Si ya probe el 'send' pero no funciona. Al escribir send da la sensacion de que no lo reconoce y cierra directamente. La verdad es que se me acaban las ideas.


La franja horaria es GMT +2. Ahora son las 03:29:50.

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