•  

ГлавнаяIndyЧастые вопросы по Indy → Как установить защищённое соединение SSL/TLS по порту 465 для отправки почты

Создано: 24.05.2014 23:20:38 · Исправлено: 24.05.2014 23:20:38 · Прочтений: 3783

Как установить защищённое соединение SSL/TLS по порту 465 для отправки почты с smtp.ukr.net. Спасибо
Здесь есть пример использования SSPI для поддержки SSL и TLS
Настройки:
  object IdSMTP1: TIdSMTP
    OnStatus = IdSMTP1Status
    IOHandler = IdSSLIOHandlerSocketOpenSSL1
    OnWork = IdSMTP1Work
    OnWorkBegin = IdSMTP1WorkBegin
    OnWorkEnd = IdSMTP1WorkEnd
    Host = smtp.ukr.net
    Password = ********
    SASLMechanisms = <>
    OnTLSNotAvailable = IdSMTP1TLSNotAvailable
  end
  
  object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL
    Destination = smtp.ukr.net:25
    Host = smtp.ukr.net
    MaxLineAction = maException
    Port = 25
    DefaultPort = 0
    SSLOptions.Method = sslvSSLv2
    SSLOptions.Mode = sslmUnassigned
    SSLOptions.VerifyMode = []
    SSLOptions.VerifyDepth = 0
  end



procedure TForm1.ButtonSendClick(Sender: TObject);
var
  idtTextPart: TIdText;
begin
  IdMessage1.CharSet := windows-1251;
  IdMessage1.ContentType := text/plain;
  IdMessage1.Subject := Тест;
  with IdMessage1.Recipients.Add do begin
    Address := [email protected];
    Name := user;
  end;
  IdMessage1.From.Address := [email protected];
  IdMessage1.From.Name := From xxx;

  IdSMTP1.Username := xxx;
  IdSMTP1.Host := smtp.ukr.net;
  IdSMTP1.ConnectTimeout := 60 * 1000;

  IdSMTP1.Connect;
  if IdSMTP1.Connected then
  try
    IdSMTP1.Send(IdMessage1);
  finally
    IdSMTP1.Disconnect;
  end;
end;
Только вместо 25 укажите порт 465
Очень долго намучился. Поставил indy 10. Сделал все как написано но не могу приконектиться. Спасибо конечно но не получается. ukr.net требует такие настройки

Адрес сервера входящих сообщений (POP3): pop3.ukr.net, порт 110, обычное соединение.
Адрес сервера исходящих сообщений (SMTP) должен предоставить Ваш мобильный оператор (интернет-провайдер).
Если хотите использовать SMTP-серверы УКРНЕТ, то укажите адрес: smtp.ukr.net, порт 465, защищённое соединение SSL/TLS. Также нужно указать необходимость авторизации на SMTP-сервере со следующими параметрами:
в качестве имени пользователя (логина) укажите полный адрес e-mail (например [email protected]), в качестве пароля - пароль от Вашего ящика. Адрес должен содержать только строчные (маленькие) буквы;
в общих настройках учётной записи ящика ukr.net для поля адрес отправителя (from или от кого) нужно указать свой адрес E-mail. Этот адрес должен полностью совпадать с тем, что Вы указали в поле имя пользователя для авторизации на SMTP-сервере.