Ver Mensaje Individual
  #11  
Antiguo 13-07-2019
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 86
Reputación: 8
usuario1000 Va por buen camino
Tarda Mucho.

Buenas tardes a todos,


Tengo el siguiente proceso que ha estado funcionando perfectamente, pero ha pasado algo que me tiene desconcertado.


En el trabajo envío emails desde el usuario al administrador, a través de una aplicación de Delphi 2010 Seatle en windows 10, al usuario le presento un mensaje de que se ha enviado un email pero este tarda hasta 50 segundos o más en enviarse y se queda la aplicación paralizada, sin embargo, en casa cuando lo pruebo, se envían sin esperar apenas 2 segundos. ¿que puede estar pasando?. ¿Cómo hago para reducir ese tiempo, por qué en casa va bien, siendo el mismo programa?. En el trabajo iba bien y ahora va muy lento. He cambiado los puertos de 465 a 587 que són los que admite mi proveedor de email.


Este es el procedimiento que utilizo y que hasta ahora iba bien, pero ahora tarda casi un minuto, aunque los emails sí llegan perfectamente.





Código Delphi [-]
procedure TServerMethods1.enviarEmail(destinatario, asunto, cuerpo: string);
var
  DATA: TIDMessage;
  SMTP: TIDsmtp;
  SSL: TIdSSLIOhandlerSocketOpenSSL;
begin

  SMTP := TIDsmtp.Create(nil);
  DATA := TIDMessage.Create(nil);
  SSL  := TIdSSLIOhandlerSocketOpenSSL.Create(nil);

  SSL.SSLOptions.Method := SSLVtlsv1;
  SSL.SSLOptions.Mode := sslmUNassigned;
  SSL.SSLOptions.VerifyMode := [];
  SSL.SSLOptions.VerifyDepth:= 0;

  DATA.ContentType := 'text/plain';
  DATA.CharSet :=  'UTF-8';
  DATA.From.Address := 'correo@inventado.es';
  DATA.Recipients.EMailAddresses := destinatario;
  DATA.Subject := asunto;
  DATA.Body.Text := cuerpo;

  SMTP.IOHandler := SSL;
  SMTP.Host := 'smtp.servidorinventado.com'; // servidor de correo
  SMTP.Port := 465;
  SMTP.Username := 'correo@inventado.es';
  SMTP.Password := 'contraseñaficticia';
  SMTP.UseTLS := utUseExplicitTLS;

  try
      try
        SMTP.Connect;
        SMTP.Send(DATA);  //aquí es donde se para hasta 1 minuto
        SMTP.Disconnect;
      except
     SMTP.Disconnect;
          // error
      end;
  finally
      SMTP.Free;
      DATA.Free;
      SSL.Free;
  end;

end;


Gracias por vuestra ayuda.
Responder Con Cita