Cordial Saludo para todos
Tengo la siguente situacion para ver si es posible me puedan ayudar, desde hace algunos años utilizo delphi para enviar correos con componentes INDY, lo hice con alguno de los muchos ejemplos que encontre en este foro y hasta hace poco siempre me funciono de lo más bien, lo utilice tanto para correo externos a travez de internet como para correos en una red interna con Exchange server 2003 como decia funcionaba muy bien hasta hace poco que me empezó a enviar el siguiente error "Socket error #10060 timed out, Connection timed out" investige en google y me lei todas las respuestas que encontre a este respecto. Revise firewall, lo deactive, abri puertos, revise antivirus, lo cambie, lo desintale, lo volvi a instalar y de ninguna forma me funciono más, el escenario es el siguiente:
Servidor windows 2003 Server promovido con Active directory, Exchange Server 2003, Delphi 2007 motor de base de datos SQL2000 la version de INDY se las quedo debiendo porque no encontre cual es, pero si le puedo decir que es la que esta incluida en el delphi.
en la estación de trabajo utilizó Windows 7 Ultimate 64 bit con Avast de antivirus, estación debidamente incluida en el Dominio de trabajo.
El unico cambio que se dió fue que instale un nuevo router y cambie el IP de la puerta de enlace pero todo lo demás esta igual que antes.
Una de las aplicaciones en es utilizo el envio de correos es para enviar a los empleados los comprobantes de pago la rutina que utilizo es la siguiente:
Código Delphi
[-]
procedure Tfm_comprobantes_pago.EnviarMensaje( sUsuario, sClave, sHost, sAdjunto, sAsunto, sDestino, sMensaje: String );
var SMTP: TIdSMTP;
Mensaje: TIdMessage;
Adjunto: TIdAttachmentfile;
Adjunt1: TIdAttachmentfile;
sAdjunt1 : String;
begin
sAdjunt1 := 'P:\PROURSA\Cómputo\DBFS\mensaje.jpg';
SMTP := TIdSMTP.Create( nil );
SMTP.Username := sUsuario;
SMTP.Password := sClave;
SMTP.Host := sHost;
SMTP.Port := 25;
SMTP.AuthType := atDefault;
Mensaje := TIdMessage.Create( nil );
Mensaje.Clear;
Mensaje.From.Text := sUsuario ;
Mensaje.ReplyTo.EMailAddresses := sDestino;
Mensaje.ReceiptRecipient.Text :='';
Mensaje.Subject := sAsunto;
Mensaje.Body.Text := sMensaje;
Mensaje.Recipients.Add;
Mensaje.Recipients.Items[0].Address := sDestino;
Mensaje.Priority := TIdMessagePriority(1);
if sAdjunto <> '' then
begin
if FileExists( sAdjunto ) then begin
Adjunto := TIdAttachmentfile.Create( Mensaje.MessageParts, sAdjunto );
Adjunto := TIdAttachmentfile.Create( Mensaje.MessageParts, sAdjunt1 );
end;
end
else
Adjunto := nil;
try
SMTP.Connect;
except
raise Exception.Create( 'Error al conectar con el servidor.' );
end;
if SMTP.Connected then
begin
try
SMTP.Send( Mensaje );
except
raise Exception.Create( 'Error al enviar el mensaje.' );
end;
try
SMTP.Disconnect;
except
raise Exception.Create( 'Error al desconectar del servidor.' );
end;
end;
if Adjunto <> nil then
FreeAndNil( Adjunto );
FreeAndNil( Mensaje );
FreeAndNil( SMTP );
end;
Trate de volver al estado anterior cambiando la puerta de enlace que fue lo unico distinto que hice pero nada hace que funcione, curiosamente leyendo en google, lei algo de abrir puertos en el firewall asi que abri el puerto 25 y para mi sorpresa funcionó; pero dos semanas despues dejo de funcionar. No se me ocurre que más probar, si alguno ha tenido alguna situación parecida y lo pudo resolver le agradecería su ayuda.
Muchas gracias por su atención.