Foros Club Delphi

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

unko! 18-02-2005 07:18:40

Gestor de correo Delphi
 
alguien me puede decir como hacer un GESTOR de correo ... esto hecho con los Indy's de delphi.
con esto me refiero a un programa que contenga:
1 Edit para poner ASUNTO
1 Edit (o algun otro objeto) para poner un mensaje
y 1 boton para enviar
Lo intente hacer pero no me resulto :(

si saben de un tuto pasenlo :)

thanx salu2! :D

roman 18-02-2005 07:43:03

Pues qué mejor que el MailClient incluido en las demos de Indy.

// Saludos

unko! 18-02-2005 07:59:49

a ke te refieres?

roman 18-02-2005 10:59:36

Cita:

Empezado por unko!
a ke te refieres?

En la página de las Indy te puedes bajar las demos.

// Saludos

unko! 18-02-2005 15:53:21

cual es la pagina?

Urano 22-02-2005 08:04:37

Hola UNKO!.
Si tienes el DELPHI 7, en la instalación vienen un programa igual al que necesitas. Si no lo encuentra ve a http://www.atozed.com/indy/ y busca tu versión y bájala.


Saludos.

JuanBCT 23-02-2005 20:37:07

Hola Unko! Te voy a explicar lo que yo hice, me funcionó muy bien... aviso q lo hice con Delphi 5, no se si funcionará con versiones posteriores...

1) Bajé e instalé las Indy 9 (trate de hacerlo con las 10 pero me daba un error en la instalación; no instalaba todos los componentes).

2) Ya en el form, lo más básico q habría q tener sería:
- Edits para la dirección del Host y la de la cuenta q vas a usar para mandar el correo
- Edits para la dirección de destino y para el asunto
- Botón "Enviar" y Memo para el mensaje
- Componentes Indy: TIdSMTP (pestaña Indy Clients) y TIdMessage (pestaña Indy Misc). Al primero le pasamos los datos de la conexión, al segundo los datos del mensaje.

3) El código del botón "Enviar" tendría q tener esto...
Código Delphi [-]
procedure TMandaMail_Form.SpeedButton1Click(Sender: TObject);
begin

  //Parámetros para el componente TIdSMPT
  idsmtp1.Host:=editHost.Text;
  idsmtp1.Port:=25;

  //Parámetros para el componente TIdMessage
  idmessage1.From.Address:=editDesde.Text;
  idmessage1.Recipients.EMailAddresses:=editPara.Text;
  idmessage1.Subject:=editAsunto.Text;
  idmessage1.Body.Text:=memoCuerpo.Text;
  
  //Envío del mensaje
  try
    try
    idSMTP1.Connect(1000);
    idSMTP1.Send(idmessage1);
    except on E:Exception do Showmessage ('Error al enviar mensaje');
    end;
    finally
    if idSMTP1.Connected then idSMTP1.Disconnect;
  end;
end;

De algunas cosas no estoy muy seguro... por ejemplo de por qué hay que pasarle 25 al Port del SMTP, o 1000 a Connect (lo encontré en un ejemplo); pero bueno, el tema es q me funcionó... Espero que te sirva, saludos!!!

JuanBCT 23-02-2005 21:41:58

Tampoco estaría de más poner un ...
Código Delphi [-]
  Showmessage ('Mensaje enviado');

...luego del disconnect...

unko! 02-03-2005 02:45:23

me tira error el ejemplo que me diste juan :(:( no tendras otro por ahi?

Casimiro Notevi 02-03-2005 08:49:04

¿qué error? :D

JuanBCT 02-03-2005 14:02:52

Decime q error te dá, en q línea, etc...

unko! 04-03-2005 02:42:37

jajaja... ya vi por ke me salia error: todo estaba en que yo no le habia puesto el nombre a los edits... solo basto con ponerle edit1,2,3... y ya :P

unko! 04-03-2005 02:52:29

lo cale y no manda nada :(

unko! 05-03-2005 06:06:53

ese truco ya lo han calado??

unko! 06-03-2005 00:23:58

pero si tengo los Indys

JuanBCT 07-03-2005 13:59:26

¿Que quiere decir calado? :confused:

unko! 08-03-2005 02:49:19

mmmm... testeado, probado...

JuanBCT 08-03-2005 21:05:30

Ah, mirá yo lo usé en mi aplicación y funcionó perfecto; fijate si podés correr el programa haciendo un trace into al botón Enviar para ver en que línea te dá el error; y el mensaje q te aparece.....

unko! 08-03-2005 23:07:38

hacer un ke? como se hace eso?

roman 09-03-2005 01:43:39

Se refiere a hacer un debug de la aplicación. También podrías poner un breakpoint al inicio del código y hacer un step over.

// Saludos

unko! 09-03-2005 05:27:21

hablenme en espanich, soi nuevo :p

User_Baja_2 27-01-2006 13:27:28

He probado el código de ejemplo que habeis puesto para enviar correo electrónico... y además de añadir el username y password de la conexión SMTP (idSMTP1) pues me sale el siguiente error en la linea idSMTP1.send;

Me dice algo asi como:

"Project1.exe raised exception class EidProtocolReplyError With message 'RCPT to: <cuentacorreo@prueba.es> relaying not allowed
.' process stopped. Use Step or run to continue"

He probado varias cuentas de correo electrónico válidas y existentes..

¿alguien puede decirme por qué? sobre todo porque si la dirección de correo electrónico coincide con la de envío, es decir un autoenvío si me lo envia a mi propio correo... ¿qué estoy haciendo mal?

Muchas gracias

Ricardojosep 27-01-2006 22:10:29

Hola nuppy,

No estoy muy seguro pero el problema puede ser por que el servidor que estas usando, quiza necesite auntenticacion, pues probe el codigo que pusieron y tampoco me anda. Aunque probe solo con servidores que requieren de autenticacion.

O quiza me estoy equivocando.

Saludos.

User_Baja_2 30-01-2006 13:23:32

Pues he probado esa opción de autentificación y aun asi no lo envia de ninguna de las maneras. Para asegurarme que el problema no era mio he probado a configurar dicha cuenta de correo electrónico en Outlook Express y efectivamente no me deja enviar correos que no sea a la misma cuenta emisora... lo curioso es que en otro PC con otra conexión de internet... y esa misma configuración si me permite envios a cualquier correo... eh aqui mi duda.. ¿por qué aqui no me deja?

En este equipo "Malo" otra cuenta de correo funciona correctamente.

¿Alguna idea?

Muchas gracias


La franja horaria es GMT +2. Ahora son las 15:01: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