![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
При наличии интернета компонент работает как надо: подключается, отправляет, но если интернет отсутствует, то какое бы значение я не выставил в 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. |