Время соединения истекло при попытке TidSMTP.Connect - PullRequest
2 голосов
/ 11 апреля 2011

Не удается подключиться к серверу Gmail smtp.

Он просто висит там ~ 20 секунд, а затем выдает ошибку "Ошибка сокета # 10060 Превышено время соединения".

Я пробовалскопируйте и вставьте из этого поста , но это тоже не сработает.

procedure TForm1.btn1Click(Sender: TObject);
var
  email      : TIdMessage;
  idSMTPGMail: TIdSMTP;
  idSSLGMail : TIdSSLIOHandlerSocketOpenSSL;
begin
  idSSLGMail                   := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  idSSLGMail.SSLOptions.Method := sslvTLSv1;
  idSSLGMail.SSLOptions.Mode   := sslmUnassigned;

  idSMTPGMail                  := TIdSMTP.Create(nil);
  idSMTPGMail.IOHandler        := idSSLGMail;
  idSMTPGMail.UseTLS           := utUseExplicitTLS;

  email                           := TIdMessage.Create(nil);
  email.From.Address              := 'from';
  email.Recipients.EMailAddresses := 'recipient';
  email.Subject                   := 'test subject';
  email.Body.Text                 := 'test body';

  idSMTPGMail.Host     := 'smtp.gmail.com';
  idSMTPGMail.Port     := 587;
  idSMTPGMail.UserName := 'username';
  idSMTPGMail.Password := 'Password';

  idSMTPGMail.Connect;
  idSMTPGMail.Send(email);
  idSMTPGMail.Disconnect;

  email.Free;
  idSSLGMail.Free;
  idSMTPGMail.Free;
  Beep;

end;

У кого-нибудь есть идеи, как мне решить эту проблему?

1 Ответ

1 голос
/ 11 апреля 2011

Вы случайно не за брандмауэром?

...