Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Там после кода ошибки должен идти текст с пояснением.


Наверх

Титульная страница Поиск, карта сайта Написать письмо