Форум программистов CodeGuru
20 Июнь 2018, 13:13:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: POP3  (Прочитано 17656 раз)
0 Пользователей и 1 Гость смотрят эту тему.
UMM
Новичок
*
Офлайн Офлайн

Сообщений: 1


Просмотр профиля
« : 10 Ноябрь 2009, 13:56:39 »

кто-нибудь может подкинуть РАБОЧУЮ библиотечку или компонент для работы с POP3?
Я пытался сам реализовать, но после установки соединения с сервером (соединение устанавливается) ни yandex.ru ни rambler.ru (ни другие сервера) не отвечают на запросы POP3. Может, я как-то неправильно создал соединение (порт 110)

WSADATA rec;
struct sockaddr_in con;
PHOSTENT pHost;
char* text= new char[5000];

int err=0;
char server[100];

strcpy(server,"rambler.ru");
int wVer = MAKEWORD(2, 2);
if ( WSAStartup(wVer,&rec) )
{ Mess("error WSAstarup");
return 0;
}
if ((s = socket(AF_INET, SOCK_STREAM,IPPROTO_TCP)) == INVALID_SOCKET)
{ Mess("Socket Error");
WSACleanup();return 0;
}

con.sin_addr.s_addr=inet_addr(server);
if(con.sin_addr.s_addr==INADDR_NONE) {
pHost = gethostbyname(server);
if (pHost == NULL)
{
MessageBox(0, "Unable to resolve server", "Error", 0);
return 0;
}
CopyMemory(&con.sin_addr, pHost->h_addr_list[0],
pHost->h_length);
}
con.sin_family=AF_INET;
con.sin_port=htons(110);

if ( connect(s,(struct sockaddr*)&con,sizeof(con))==INVALID_SOCKET)
{ Mess("error connect");}
int len;
len = recv(s,text,100,0); //ВОЗВРАЩАЕТ 0 байт
if ( len==SOCKET_ERROR ){
Mess("SOCKET_ERROR");
}
else {Mess(text);Mess(Inttostr(len));}

strcpy(text,"USER makcydrl");
if ( send(s,text,strlen(text),0)==SOCKET_ERROR ){
Mess("Error send");
}
len = recv(s,text,100,0); //ВОЗВРАЩАЕТ 0 байт
if ( len==SOCKET_ERROR ){
Mess("SOCKET_ERROR");
}
else {Mess(text);Mess(Inttostr(len));}




closesocket(s);
           
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 11 Ноябрь 2009, 20:19:43 »

Имхо, надо слать не "USER makcydrl", а "USER makcydrl\r\n" и так же с паролем да и вообще.
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!