Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   email con indy cual uso ; server o cliente (https://www.clubdelphi.com/foros/showthread.php?t=24784)

cmena 02-09-2005 01:03:40

email con indy cual uso ; server o cliente
 
cual es la diferencia de idssmpt de indy cliente v/s indy server, cual debo usar para enviar email desde una aplicacion delphi 7 ?

roman 02-09-2005 01:14:03

El cliente

// Saludos

Sotrono 02-09-2005 01:31:47

Con los dos podes lograr enviar mails.
El encargado de enviar el mail es el servidor, pero el cliente es el que se conecta y le indica todos los datos para que lo envie.
No te conviene ponerte programar un servidor Smtp, utiliza un cliente y conectate a algun servidor gratuito que te permita enviar mails.
En este post dec da un ejemplo de como utilizar el IdSMTP.
Saludos..

dec 02-09-2005 12:18:13

Hola,

Cabe añadir acaso que el ejemplo que refiere Sotrono puede simplificarse, gracias a un método "rápido" que para enviar correos cuenta el componente "TIdSmtp". Tal que así:

Código Delphi [-]
 var
   smtp: TIdSMTP;
 begin
   smtp := TIdSMTP.Create(Self);
   try
     smtp.QuickSend(
       'smtp.servidor.com',
       'Asunto del correo',
       'correo@destino.com',
       'correo@remitente.com',
       'Cuerpo del mensaje');
   finally
     smtp.Free;
   end;
 end;

cmena 02-09-2005 23:46:31

error se socket #10053
 
ok lo efectue pero se me cae con un error se socket #10053
este es el codigo

Código Delphi [-]
 
   IdSMTP1.Port := 25;
   IdSMTP1.Host := 'kovacs.cl';{'smtp.kovacs.cl'}
   IdSMTP1.Username := '';
   IdSMTP1.Password := '';
   IdMessage1.Recipients.Add;
   IdMessage1.Recipients[0].Name := 'armijo';
   IdMessage1.Recipients[0].Address := 'cmena@kovacs.cl'; {destino}
   IdMessage1.From.Name := 'mena';
   IdMessage1.From.Address := 'cmena@kovacs.cl'; {remitetente}
   IdMessage1.Subject := 'prueba';
   IdMessage1.Body.Text := 'la raja';
 
   IdSMTP1.Connect(30000);
   try
     try
       IdSMTP1.Send(IdMessage1);
     except
       on E: Exception do
         ShowMessage('fallo');
     end;
   finally
     if IdSMTP1.Connected then
       IdSMTP1.Disconnect;
   end;
 
   IdMessage1.Free;
   IdSMTP1.Free;
Cita:

Empezado por Sotrono
Con los dos podes lograr enviar mails.
El encargado de enviar el mail es el servidor, pero el cliente es el que se conecta y le indica todos los datos para que lo envie.
No te conviene ponerte programar un servidor Smtp, utiliza un cliente y conectate a algun servidor gratuito que te permita enviar mails.
En este post dec da un ejemplo de como utilizar el IdSMTP.
Saludos..


dec 04-09-2005 13:53:42

Hola,

¿Te diste cuenta que edité tu mensaje? Lo hize para encerrar el código fuente de Delphi usando la etiqueta correspondiente: [ DELPHI ] ¿Verdad que se lee mejor así? Ya lo sabes para una próxima ocasión ;) Ahora, tratando de ayudar, me llama la atención esta línea:

Código Delphi [-]
 IdSMTP1.Host := 'kovacs.cl';{'smtp.kovacs.cl'}
¿Obtienes el mismo error si en lugar de "kovacs.cl" utilizas "smtp.kovacs.cl"? Es posible que me equivoque, porque se me ocurre que los propios componentes Indy se encargan de añadir el "smtp." si este no se encuentra, pero, ¿probaste a hacerlo tú, por si las moscas, como suele decirse?

VNyes 09-09-2005 10:11:42

Buenas, use el servidor smtp : 'kovacs.' y en el evento Onstatus del SMTP coloque: Memo.Lines.Insert(0,'Status: ' + AStatusText); lo q aparecio en ejecucion en el Memo fue :

Status: Resolving hostname kovacs.cl.
Status: Connecting to XXX.XXX.XXX.XXX (mi numero ip dinamico)
Status: Connected.

ERROR: 5.7.1 <correo@destino.com>... Relaying denied. IP name possibly
forged [XXX.XXX.XXX.XXX ]
Status: Disconnecting.

Status: Disconnected.

con lo q no se pudo enviar el Email ... Mi pregunta es : Cual fue el motivo q no pudo enviar el email si todo esta aparentemente bien?, soy nuevo en esto por lo q no ve bien cuales son las burradas q cometo ... cualquier ayuda de antemano gracias

dec 09-09-2005 14:11:19

Hola,

Cita:

Empezado por VNYes
Relaying denied. IP name possibly forged.

Creo que el problema estriba en que estás intentando enviar un correo electrónico a través de un Servidor SMTP desde el que no puedes hacerlo por estar fuera de su red. Por ejemplo. Yo me conecto a Internet a través de una determinada compañía telefónica (bueno, entre otras cosas) y puedo utilizar cuando estoy conectado a través de ellos su Servidor SMTP (o uno de ellos), pero, si marcho a tu casa y tratamos de usar dicho Servidor SMTP no podremos hacerlo: porque la compañía telefónica en cuestión no nos lo permite si estamos fuera de su red, esto es, conectados a otra. ¿Solución? Utiliza el Servidor SMTP que suelas emplear para enviar tu correo electrónico.

La información que ha dado pie a mi comentario la he obtenido de aquí mismo. En realidad en la página Web que enlazo se da todavía una descripción más breve del problema, pero, no dejes de echar un vistazo al resto de problemas que se comentan en ella.

VNyes 10-09-2005 03:54:10

Gracias por la aclaracion ...
 
Bueno gracias Dec por la respuesta pero como saber que servidor SMTP esta en mi maquina? ..., me conecto por telefonica speedy peru y nunca eh instalado un servidor SMTP por lo q creo q no hay uno en mi maquina ...
Intente con otros servidores y el unico q me funciono fue 'mail.hotmail.com' pero solo enviaba emails a hotmail cuando el destino del email era a otra pagina como a yahoo aparecia un error ... asi q la unica segunda pregunta seria : que servidor smtp libre hay q me envie emails a todas las paginas?
Gracias por cualquier ayuda y a ti mas Dec por haber aclarado eso q no sabia :) ...

dec 10-09-2005 04:50:05

Hola,

Cita:

Empezado por VNYes
(...) me conecto por telefonica speedy peru y nunca eh instalado un servidor SMTP por lo q creo q no hay uno en mi maquina...

Bueno. Yo tampoco tengo ningún Servidor SMTP instalado. Utilizo el Servidor SMTP que proporciona la operadora de telefonía a través de la cual me conecto a Internet. Quiero decir que utilizo la dirección de dicho Servidor SMTP a la hora de enviar correos. Supongo que la operadora de telefonía con la que tú te conectas a Internet podrá proporcionarte la información precisa, esto es, la dirección del Servidor SMTP que has de usar para enviar correos, así como un nombre de usuario y una contraseña, si es necesario. Es cuestión de que te pongas en contacto con ellos o investiges en su página Web o en tu buscador favorito.

Cita:

Empezado por VNYes
(...) asi q la unica segunda pregunta seria : que servidor smtp libre hay q me envie emails a todas las paginas?

Personalmente, no conozco ningún Servidor SMTP que ofrezca esa posibilidad. Lo que sí puedo decirte es que el Servidor SMTP que empleo, esto es, el de la operadora de telefonía de que hago uso, no pone reparos en enviar correos a cualquier dirección. Es el que utilizo en el programa desde donde recibo y envío correos y hasta ahora no he tenido problemas con ninguna dirección, que recuerde, vamos.

Ahora bien, si te estás planteando utilizar la característica de envío de correos desde una aplicación hecha en Delphi, te diré que lo que suelen hacer los programas en este caso (estoy pensando en el propio ThunderBird, que es el cliente de correo de que me valgo) es solicitarle al usuario la dirección del Servidor SMTP (así como el nombre de usuario, contraseña, número de puerto, etc.) que ha de utilizarse para enviar los correos. El programa se encarga de guardar los datos de forma que el usuario no tenga que proporcionarlo a cada momento: esto mismo podrías hacer tú en tu aplicación.

VNyes 10-09-2005 08:10:05

Gracias ...
 
Bueno, gracias por los consejos Dec, tu aporte me ha ayudado bastante, tengo otras dudas pero no relacionadas con este tema, asi q ya las hare en otro foro...

Gracias brother :)

cmena 13-09-2005 01:48:17

hola ,

Código Delphi [-]
   {...}
   IdSMTP1.Port := 25;
   IdSMTP1.Host := 'kovacs.cl'; {'smtp.kovacs.cl'}
   IdSMTP1.Username := '';
   IdSMTP1.Password := '';
   IdMessage1.Recipients.Add;
   IdMessage1.Recipients[0].Name := 'armijo';
   IdMessage1.Recipients[0].Address := 'cmena@kovacs.cl'; {destino}
   IdMessage1.From.Name := 'mena';
   IdMessage1.From.Address := 'cmena@kovacs.cl'; {remitetente}
   IdMessage1.Subject := 'prueba';
   IdMessage1.Body.Text := 'la raja';
   IdSMTP1.Connect(30000);
   try
     try
       IdSMTP1.Send(IdMessage1);
     except
       on exception E: Exception do
         ShowMessage('fallo');
       end;
   finally
     if IdSMTP1.Connected then
       IdSMTP1.Disconnect;
     end;
     IdMessage1.Free;
     IdSMTP1.Free;
   end;
se me cae con un error se socket #10053, el servidor kovacs.cl lo tengo en la intraweb, lo tengo con otra direccion de red pero dentro de la misma intraweb, dentro de la Lan tengo un router que me conecta con el servidor de correo, no tendre que definir la direccion ip del router como puerta de enlace? MI TCP/IP ESTA YA CONFIGURADO Y EL ENVIO DE CORREO POR EL OUTLOOK FUNCIONA CORRECTAMENTE.

cmena 15-09-2005 02:21:43

Da coneccion abortada , socket #10053
 
no hay caso, se cae, kovacs.cl es mi servidor oficial de correo por que no conecta tendre que conficurar algo mas en el componente idsmpt?

Código Delphi [-]
   {...}
   IdSMTP1.Port := 25;
   IdSMTP1.Host := 'kovacs.cl'; {'smtp.kovacs.cl'}
   IdSMTP1.Username := '';
   IdSMTP1.Password := '';
   IdMessage1.Recipients.Add;
   IdMessage1.Recipients[0].Name := 'armijo';
   IdMessage1.Recipients[0].Address := 'cmena@kovacs.cl'; {destino}
   IdMessage1.From.Name := 'mena';
   IdMessage1.From.Address := 'cmena@kovacs.cl'; {remitetente}
   IdMessage1.Subject := 'prueba';
   IdMessage1.Body.Text := 'la raja';
   IdSMTP1.Connect(30000);
   try
     try
       IdSMTP1.Send(IdMessage1);
     except
       on exception E: Exception do
         ShowMessage('fallo');
       end;
   finally
     if IdSMTP1.Connected then
       IdSMTP1.Disconnect;
     end;
     IdMessage1.Free;
     IdSMTP1.Free;
   end;

Sotrono 15-09-2005 20:53:12

Hola, encerra el codigo con la etiqueta code porque asi es imposible de leer.


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