Pregunta

Estoy usando este código para enviar un mensaje de prueba de Delphi Indy. Tengo un TIDSMTP, TidMessage e IDSSLIOHANDLERSOCTOPENSSL;

En el código a continuación, si lo configura para usar Gmail con SSL, funciona bien, pero tan pronto como reemplazo mis detalles del servidor con mis detils del servidor de correo cpanel, no funciona por error:

"No se puede autenticar en la actualidad".

Usé los mismos detalles que usaría para configurar mi cuenta en Outlook 2007. Aquí está el código

IDSSLIOHANDLERSOCTOPENSSL Detalles.

method := sslvsslv3
mode := sslmUnassigned

//rest default values

procedure Tfrmnotification.btnSendClick(Sender: TObject);
var
  IdMsg : TIdMessage;
begin

begin
  IdMsg := TIdMessage.Create(nil);
  try
    with TIdSMTP.Create(nil) do
    try
     // UserName := 'something@gmail.com';
     // Password := 'pass';
     // Host := 'smtp.gmail.com';
     // IOHandler := IdSSLIOHandlerSocketOpenSSL;
     // Port := 587;
      UserName := 'something@sasra.co.za';
      Password := 'password';
      Host := 'outgoing server detials';// same as outlooks
      IOHandler := IdSSLIOHandlerSocketOpenSSL;
      Port := 465;// this is correct port
      UseTLS:=  utUseExplicitTLS;


      IdMsg.Body.Add('test');
      IdMsg.Recipients.emailAddresses := 'something@gmail.com';
      IdMsg.Subject := 'test';
      IdMsg.From.Address := 'something@sasra.co.za';
      IdMsg.From.Name := 'john';


      Connect;
      Send(IdMsg);
      Disconnect;
    finally
      Free;
    end;
  finally
    IdMsg.free;
  end;
  showmessage('done');
end;

Cualquier ayuda sería apreciada.

¿Fue útil?

Solución

El puerto 465 se utiliza para SMTP sobre SSL implícito. Has establecido useTls en UtUseExplicittls. El valor correcto debería (muy probablemente) ser utuseImplicittls.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top