Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include "stdafx.h"
#include "winsock.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#pragma comment (lib,"ws2_32.lib")
int sock,num;
char text[1024],quit[1024],retr[1024],snum[5];
struct sockaddr_in con;
WSADATA wsaData;
int main()
{
//Инициализация winsock
WSAStartup(MAKEWORD(1,1),&wsaData);
//Создаем сокет
if((sock=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET) return 1;
//Заполняем информацию о сокете
con.sin_family=AF_INET;
con.sin_port=htons(110);
con.sin_addr.s_addr=inet_addr("194.67.57.102"); //pop3.mail.ru
//Коннектимся к серверу
if(connect(sock,(struct sockaddr*)&con,sizeof(con))!=0) return 1;
printf("Connected\t");
recv(sock,text,sizeof(text),0);
printf(text);
/*-------------------------------------------*/
//Посылаем имя, получаем ответ.
strcpy(text,"user yorikas\xD\xA\x0");
send(sock,text,strlen(text),0);
recv(sock,text,sizeof(text),0);
printf(text);
//Посылаем пароль, получаем ответ.
strcpy(text,"pass miet2004\xD\xA\x0");
send(sock,text,strlen(text),0);
recv(sock,text,sizeof(text),0);
printf(text);
//Просмотр писем
cout<<"Enter number: ";
cin>>num;
itoa(num,snum,10);
/*strcpy(text,"LIST\xD\xA\x0");
send(sock,text,strlen(text),0);
recv(sock,retr,sizeof(retr),0);
printf(retr);*/
strcpy(text,"RETR ");
strcat(text,snum);
strcat(text,"\xD\xA\x0");
send(sock,text,strlen(text),0);
recv(sock,retr,sizeof(retr),0);
printf(retr);
//Выход
strcpy(text,"QUIT\xD\xA\x0");
send(sock,text,strlen(text),0);
recv(sock,quit,sizeof(quit),0);
printf(quit);
closesocket(sock);
WSACleanup();
return 0;
}