![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Win [D7, XP]
Wahnsinng © (2007-07-18 19:51:00)Здравствуйте.
Подскажите почему при попытке отправить письмо с помощью Winsock
сервер на запрос HELO выдает ошибку 550
MyBuf:='Письмо';
MySmtp:='213.180.204.38'; // маил,ру
WSAStartUp(2, wsadata);
sock:=socket(PF_INET,SOCK_STREAM,IPPROTO_IP);
sin.sin_family := PF_INET;
htons(25);
sin.sin_port := htons(25);
iaddr:=inet_addr(PChar(MySmtp));
sin.sin_addr.S_addr:=iaddr;
connect(sock,sin,sizeof(sin));
recv(sock,buf,sizeof(buf),0);
// HELO SERVER
Mys('HELO admin'+#13+#10);
recv(sock,buf,sizeof(buf),0);
Mys('AUTH LOGIN'+#13+#10);
recv(sock,buf,sizeof(buf),0);
Mys(EncodeBase64 ('mail-rp'));
recv(sock,buf,sizeof(buf),0);
Mys(EncodeBase64('********'));
recv(sock,buf,sizeof(buf),0);
showMessage(Buf);
// MAIL TO:
Mys('MAIL FROM: '+RcptStr+#13+#10);
recv(sock,buf,sizeof(buf),0);
showMessage(Buf);
// RCPT TO:
Mys('RCPT TO: '+RcptStr+#13+#10);
recv(sock,buf,sizeof(buf),0);
showMessage(Buf);
// DATA
Mys('DATA'+#13+#10);
recv(sock,buf,sizeof(buf),0);
showMessage(Buf);
// Отправка информации
Mys(MyBuf+#13+#10);
// . showMessage(Buf);
Mys(#13+#10+'.'+#13+#10);
recv(sock,buf,sizeof(buf),0);
// QUIT
Mys('QUIT'+#13+#10);
recv(sock,buf,sizeof(buf),0);
showMessage(Buf);
// Закрываем сокет
closesocket(sock);
Wahnsinng (2007-07-19 13:38:00) [1]Да не важно я все подключал Яндекс Маил И РАмблер
umbra (2007-07-19 11:19:00) [2]чего-то Вы голову всем морочите. 213.180.204.38 - это смтп яндекса. Во вторых он дает не такой код ошибки.
Wahnsinng (2007-07-19 11:01:00) [3]EHLO таже ошибка и POP тоже ошибку эту же выдает.
Wahnsinng (2007-07-19 05:59:00) [4]через telnet та же ошибка выпадает.
Может нужно сначала авторизироваться через pop потом уже SMTp
Wahnsinng (2007-07-19 05:55:00) [5]Эта ошибка выходит и на rambler и на yandex и на mail 500 или 550 "invalid command" или "unrecognized command"
palva (2007-07-18 21:38:00) [6]Ну если это mail.ru, то причина понятна. На этом сервере нужна smtp-авторизация. Поэтому сеанс должен начинаться не с HELO а с EHLO
Zeqfreed (2007-07-18 20:49:00) [7]Вообще, попробуй отправить ту же команду через telnet. У меня вроде все нормально проходит :)
Anatoly Podgoretsky (2007-07-18 20:46:00) [8]> Wahnsinng (18.07.2007 19:51:00) [0]
Вместе с ошибкой выдается текст идентифицирующий точную причину.
Zeqfreed (2007-07-18 20:44:00) [9]Там после кода ошибки должен идти текст с пояснением.