|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
IdSMTP не ловит ConnectTimeOut
При наличии интернета компонент работает как надо: подключается, отправляет, но если интернет отсутствует, то какое бы значение я не выставил в ConnectTimeOut, подключение висит секунд 10-15 и выдаёт ошибку подключения. А мне не нужно ждать столько времени. Как быть, где косяк?
Код:
// Соединяемся с почтовым сервером procedure TfMain.SMTPConnect; begin // ShowMessage('Подключаемся...'); try IdSMTP1.ConnectTimeout:=1000; if not IdSMTP1.Connected then IdSMTP1.Connect; LPostStatus.Caption:='Соединение с почтовым сервером установлено'; SMTPOK:=true; // ShowMessage('Подключились!'); except on E:EidException do begin ShowMessage('Не удалось соединиться с почтовым сервером! Отправка писем невозможна!'); LPostStatus.Caption:='Соединение с почтовым сервером не установлено!'; SMTPOK:=false; // ShowMessage('Не подключились :('); end; end; end; |
#2
|
||||
|
||||
Это не подключение висит долго, а GetAddrInfo не может до DNS достучаться. На него тайм-аут не распространяется.
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
И есть ли какое-то решение? Только использовать ip-адрес?
Использование ip-адреса не помогло Последний раз редактировалось DIEsel, 20.09.2017 в 21:18. |