информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяВсе любят медГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 ФБР нашла русский след в атаках... 
 Массовый взлом SharePoint 
 Microsoft Authenticator прекращает... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Да Вы батенька извращенец ;) 26.10.01 12:15  Число просмотров: 1017
Автор: Лamo Статус: Незарегистрированный пользователь
<"чистая" ссылка>
И ещо надо помещать мылы в <>
Кароче диалог может быть такой:
HELO www.mail.ru\r\n
MAIL FROM: <lamo@mail.ru>\r\n
RCPT TO: <lamo@mail.ru>\r\n
DATA\r\n
From: lamo@mail.ru\r\n
To: lamo@mail.ru\r\n
Subject: test\r\n
.r\n

В конце обязательно надо завершить сообщение точкой \r\n.\r\n
И вообще,
ты не правильно отправляешь и принимаешь данные
нельзя просто писать send() или recv()
например recv вернёт не все данные, а только такова размера, сколько приёмный буффер
<programming>
трабл с посылкой письма SMTP такое впечатление что программа дозхнет 25.10.01 00:38  
Автор: кур Статус: Незарегистрированный пользователь
<"чистая" ссылка>
трабл с посылкой письма SMTP такое впечатление что программа дозхнет
по идее она должна работать но что то беспокоит мою душонку
развейте мои сомнения
почему она медленно работает (если она воодще работает
#include <iostream.h>
#include <winsock.h>
main()
{
WSADATA ws;
if(WSAStartup(0x101,&ws)==SOCKET_ERROR)
{
cout<<"bad WSAStartup\n";
return -1;
}
hostent *hs;
hs=gethostbyname("freemail.ukr.net");
if(hs==NULL)
{
cout<<"gethostbyname error\n";
return -1;
}
sockaddr_in addr;
addr.sin_port=htons(25);
addr.sin_family=AF_INET;
memcpy(&addr.sin_addr.s_addr,hs->h_addr,hs->h_length);
SOCKET sock;
sock=socket(PF_INET,SOCK_STREAM,0);
if(sock==INVALID_SOCKET)
{
cout<<"invalid socket\n";
return -1;
}
if(connect(sock,(LPSOCKADDR)&addr,sizeof(addr))==SOCKET_ERROR)
{
cout<<"connect error\n";
return -1;
}
char buf[81];
recv(sock,buf,sizeof(buf),0);
cout<<buf<<endl;

send(sock,"HELO www.mail.ru",16,0);

recv(sock,buf,sizeof(buf),0);
cout<<buf<<endl;

send(sock,"MAIL FROM: hello@mail.ru",24,0);

recv(sock,buf,sizeof(buf),0);
cout<<buf<<endl;

send(sock,"RCPT TO: shopi@ukr.net",22,0);

recv(sock,buf,sizeof(buf),0);
cout<<buf<<endl;

send(sock,"DATA",4,0);

recv(sock,buf,sizeof(buf),0);
cout<<buf<<endl;

send(sock,"hello\n\r.",10,0);

recv(sock,buf,sizeof(buf),0);
cout<<buf<<endl;

send(sock,"QUIT",4,0);

recv(sock,buf,sizeof(buf),0);
cout<<buf<<endl;

WSACleanup();
shutdown(sock,0);
closesocket(sock);
return 0;
}
Да Вы батенька извращенец ;) 25.10.01 02:02  
Автор: Heromantor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Каждая команда должна заканчиваться символом перевода на новую строку(\r\n). И не проще было бы сделать ф-цию send которая сама бы подставляла длину строки+надобы проверять коды возврата.
Да Вы батенька извращенец ;) 26.10.01 12:15  
Автор: Лamo Статус: Незарегистрированный пользователь
<"чистая" ссылка>
И ещо надо помещать мылы в <>
Кароче диалог может быть такой:
HELO www.mail.ru\r\n
MAIL FROM: <lamo@mail.ru>\r\n
RCPT TO: <lamo@mail.ru>\r\n
DATA\r\n
From: lamo@mail.ru\r\n
To: lamo@mail.ru\r\n
Subject: test\r\n
.r\n

В конце обязательно надо завершить сообщение точкой \r\n.\r\n
И вообще,
ты не правильно отправляешь и принимаешь данные
нельзя просто писать send() или recv()
например recv вернёт не все данные, а только такова размера, сколько приёмный буффер
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach