Hola,
Quizá puedas aprovechar ciertos eventos del componente "IdSMTP". Aquí puedes ver más o menos cómo podría quedar:
Código Delphi
[-]
procedure TForm1.IdSMTPWork(ASender: TObject;
AWorkMode: TWorkMode; AWorkCount: Int64);
begin
Gauge1.Progress := AWorkCount;
end;
procedure TForm1.IdSMTPWorkBegin(ASender: TObject;
AWorkMode: TWorkMode; AWorkCountMax: Int64);
begin
Gauge1.MaxValue := AWorkCountMax;
end;
procedure TForm1.IdSMTPWorkEnd(ASender: TObject;
AWorkMode: TWorkMode);
begin
Gauge1.Progress := 0;
end;
Sin embargo, he dicho quizá puedes aprovechar, y es que, hasta donde yo llego, estos eventos no funcionan todo lo bien que se espera, igual porque dependen también de información que debe proporcionar el servidor SMTP, y que, no sé si a veces es que no la proporciona, o si están obligados a hacerlo o qué.
En todo caso, por ahí irían los tiros... quiero decir, esos son los eventos que proporciona el componente "IdSMTP" (y en general el resto de los componentes Indy) para hacer lo que quieres.