1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| void mail_check (char* host, int port, char* login, char* pass)
{
SOCKET sk;
struct sockaddr_in ServAddr;
struct hostent *he;
char buf[255]; // paquet envoyé au serveur
int i=-1; // valeurs de retour
//printf("gethostbyname(%s)\n", b[x].serv);
he = gethostbyname(host);
//printf("Socket\n");
//printf("fill address\n");
ServAddr.sin_family = AF_INET;
ServAddr.sin_port = htons(port);
ServAddr.sin_addr = *((struct in_addr *)he->h_addr);
sk = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
//printf("connect()\n");
if (connect(sk, (struct sockaddr *)&ServAddr, sizeof(ServAddr))==-1)
{
closesocket(sk);
return;
}
// Envoi des commandes POP3
i = sprintf(buf, "USER %s\r\n", login); mail_discuss(sk,buf,i,0);
i = sprintf(buf, "PASS %s\r\n", pass); mail_discuss(sk,buf,i,1);
i = sprintf(buf, "STAT\r\n"); mail_discuss(sk,buf,i,2);
i = sprintf(buf, "QUIT\r\n"); mail_discuss(sk,buf,i,3);
closesocket(sk);
} |
Partager