![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что значит ошибка:
[TLS]Lord © (2001-12-05 09:31:00)Пытаюсь отослать сообщение на e-mail:
procedure TGWin.StartButtonClick(Sender: TObject);
begin
if ClSok.Active=true then ClSok.Active:=false;
ClSok.Active:=true;
end;
procedure TGWin.ClSokConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText ("HELLO server");
Socket.SendText ("MAIL FROM: admin@server.com");
Socket.SendText ("RCPT TO: user@server.net");
Socket.SendText ("Hello World!");
Socket.SendText (".");
Socket.SendText ("QUIT");
ClSok.Close;
end;
Жму на кнопку и возникает ошибка: "Windows socket error: (11001), on API ASync Lookup"
Помогите кто как сможет срочно необходимо доделать эту функцию (отправки писем)!!!!
Wonder (2001-12-05 15:40:00) [1]WSAETIMEDOUT (10060) Connection timed out.
Check the obvious first: check that the destination address is a valid IP address. If you used a hostname, did it resolve to the correct address? If the hostname resolution uses a local host table, it"s possible you resolved to an obsolete address. Can you ping that hostname?
Тебе же Digitman написал - "Попробуй на время очистить св-во Host и задать IP-адрес явно в св-ве Address".
[TLS]Lord (2001-12-05 15:21:00) [2]Теперь появилась ошибка 10060! Асинхронный сокеты!, хотя ClientType = ctNonBlocking что мне теперь делать?
Digitman (2001-12-05 10:57:00) [3]исключение с сообщением "Windows socket error: (11001), on API ASync Lookup" никак не связано с режимом гнезда (blocking/non-blocking) и возникает при невозможности установить коннект с сервером из-за того, что указанное имя хоста не может быть преобразовано в IP-адрес (неверно имя хоста, недоступен DNS и т.д.).
Попробуй на время очистить св-во Host и задать IP-адрес явно в св-ве Address
Дмитрий (2001-12-05 10:03:00) [4]ClientType = ctNonBlocking :)(1 движение мышкой)
[TLS]Lord (2001-12-05 09:54:00) [5]Наконец-то хоть кто-то мне все это объяснил. Спасибо! Но как их сделать синхронными?
Дмитрий (2001-12-05 09:41:00) [6]Во-перв`ых, сокет должен быть синхронным, во-вторых, надо ведь признак какой-то конца строки давать (\r\n - не ошибешься: "HELLO server"#13#10), в-третьих и четвертых существуют RFC(напр.821) и команда DATA, в-пятых можно и готовое письмо поковырять и за telnet-ом посидеть, ну и в-шестых, многие сервера настроены так, что, если в DATA (то есть в заголовках собственно сообщения) не указаны поля From и To, то они - отлупаются.
if ClSok.Active=true then ClSok.Active:=false;
ClSok.Active:=true;
А это вообще ни к черту :))
C уважением :)