Ver Mensaje Individual
  #1  
Antiguo 14-11-2006
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Reputación: 20
amadis Va por buen camino
Red face Enviar Mail con Indy + mostrar avance progressbar

Como andan Gente!

Estoy intentando mandar mail desde un simple programa, con un codigo que saqué de un hilo

Código Delphi [-]
uses
   IdSMTP, IdMessage;
   
 procedure TForm1.Button1Click(Sender: TObject);
 var
   smtp: TIdSMTP;
   mail: TIdMessage;
 begin
   smtp := TIdSMTP.Create(Self);
   mail := TIdMessage.Create(Self);
   
   with smtp do
   begin
     Port := 25;
     Host := 'smtp.servidorcorreo.es';
     Username := '';
     Password := '';
   end;
   
   with mail do
   begin
     Recipients.Add;
     Recipients[0].Name := 'destinatario';
     Recipients[0].Address := 'correo@destinatario.com';
     From.Name := 'remitente';
     From.Address := 'correo@remitente.com';
     Subject := 'Asunto del correo';
     Body.Text := 'Cuerpo del correo';
   end;
   
   TIdAttachment.Create(mail.MessageParts, 'C:\adjunto.txt');
   
   smtp.Connect(30000);
   try
     try
       smtp.Send(mail);
     except
       on E: Exception do
         ShowMessage(E.Message);
     end;
   finally
     if smtp.Connected then
       smtp.Disconnect;
   end;
 
   mail.Free;
   smtp.Free;

Eso funciona bien pero cuando envio un adjunto de mas de 100kb
el programa tarda en enviarlo y si por ej enviara un archivo de 500kb
el programa deja de responder por unos 3 minutos y aparenta estar colgado.

Es posible anexar a ese codigo un PROGRESSBAR? que avance junto con el envio del mail?
Y que concida, porque yo no se cuanto va a tardar ese mail en enviarse.

Entonces de esa forma la persona que este enviando el mail sabría cuanto
debe esperar y tendria mejor aspecto el programa.
end;
Responder Con Cita