Почему нет подключения по smtp Indy

Пробую на разных сервисах: Яндекс, Mail, Rambler почта и Ошибка подключения к SMTP Серверу. В чем может быть проблема ? Может в Indy ? Компилирую на RAD Studio 10.1 Berlin. Код то правильный.

procedure TForm1.Button1Click(Sender: TObject);
var
msg:TIdMessage;
FileDir:string;
att:TIdAttachmentFile;
IdSSLIOHandlerSocketOpenSSL: TIdSSLIOHandlerSocketOpenSSL;
//формируем тело сообщения
IdMessage1 := TIdMessage.Create;
IdMessage1.From.Address := 'test';
IdMessage1.Recipients.Add.Address:='[email protected]';
IdMessage1.Subject := UTF8Encode('test');
IdMessage1.Date:= now;
 
//настройка компонентов перед отправкой
IdSMTP := TIdSMTP.Create(nil);
 
IdSMTP.Host:=Form1.Edit1.Text;
IdSMTP.Port:=StrToInt(Form1.Edit2.Text);
IdSMTP.Username:=Form1.Edit3.Text;
IdSMTP.Password:=Form1.Edit4.Text;
IdSMTP.AuthType:=satDefault;
 
//для SSL
IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdSSLIOHandlerSocketOpenSSL.Destination := IdSMTP.Host+':'+IntToStr(IdSMTP.Port);
IdSSLIOHandlerSocketOpenSSL.Host := IdSMTP.Host;
IdSSLIOHandlerSocketOpenSSL.Port := IdSMTP.Port;
IdSSLIOHandlerSocketOpenSSL.DefaultPort := 0;
IdSSLIOHandlerSocketOpenSSL.SSLOptions.Mode := sslmUnassigned;
 
IdSMTP.IOHandler := IdSSLIOHandlerSocketOpenSSL;
 
case Form1.ComboBox2.ItemIndex of
     0: IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv2;
     1: IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv23;
     2: IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv3;
     3: IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvTLSv1
else
     raise Exception.Create('Выберите тип SSL');
end;
 
case Form1.ComboBox1.ItemIndex of
     0: IdSMTP.UseTLS := utUseExplicitTLS;
     1: IdSMTP.UseTLS := utUseImplicitTLS;
     2: IdSMTP.UseTLS := utUseRequireTLS;
     3: IdSMTP.UseTLS := utNoTLSSupport;
else
     raise Exception.Create('Выберите тип TLS');    
end;
 
try
 IdSMTP.Connect;
 if idSMTP.Connected then
  MessageBox(handle,pchar('Подключение к SMTP серверу успешно'), pchar('ee'), 48);
except
 MessageBox(handle,pchar('Ошибка подключения к SMTP Серверу'), pchar('ee'), 48);
 exit;
end;
 
IdSMTP.Send(IdMessage1);
 
Application.ProcessMessages;
IdSMTP.Disconnect;
 
idMessage1.Free;
IdSSLIOHandlerSocketOpenSSL.Free;
idSMTP.Free;
end;

Ответы (0 шт):