Конференция "Сети" » Использование МХ-записи с ИНДИ
 
  • Pcrepair © (27.06.17 22:09) [0]
    Добрый день.
    Есть код определяющий имена СМТП-серверов в МХ-записи (типа mx.kubsu.ru)
    Есть код, на основе ИНДИ, отсылки письма в том числе по 465 порту
    через СМТП-сервер типа гугл, яндекс, мылору. все работает

    НО, если вставить вместо имени смтп-сервера имя смтп-сервера из МХ-записи (типа mx.kubsu.ru)
    (как это советуют корефаны типа Remy Lebeau Jul 9 '14 at 19:50)

    for I := 0 to IdDNSResolver1.QueryResult.Count-1 do
     begin
       if IdDNSResolver1.QueryResult[I] is TMXRecord then
       begin
         IdSMTP1.Host := TMXRecord(IdDNSResolver1.QueryResult[I]).ExchangeServer;  //вот тут mx.kubsu.ru
         try
           IdSMTP1.Connect;
           try
             IdSMTP1.Verify(user);
             Result := True;
             Exit;
           finally
             IdSMTP1.Disconnect;
           end;
         except
           // тут ловим исключение Socket Error # 10060 Connection timed out
         end;
       end;
     end;



    то возвращается ошибка Socket Error # 10060 Connection timed out.
    вознающая после попытки SMTP.Connect;

    Вопрос : что все это значит?
    1. закончились времена когда можно было дергать сервера и проверять есть ли там указанный аккаунт?
    2. надо проверять по 25 порту (хотя пример выше проверялся и по 25 и по 465, результат один и тот же)
    3. возможно надо что то еще(типа старый старый TClientSocket или ICS), позабористее, но что канкретно?
  • megavoid © (29.06.17 10:31) [1]

    > 1. закончились времена когда можно было дергать сервера и проверять есть ли там указанный аккаунт?

    Лет 10 тому назад
 
Конференция "Сети" » Использование МХ-записи с ИНДИ
Есть новые Нет новых   [118656   +18][b:0][p:0.001]