codice:
case 'b':
if (he == NULL)
{
printf("\r\n");
printf("host not found.\n");
system("PAUSE");
return 1;
}
else
{
printf("\r\n");
printf("host found.\n");
}
i=0;
s1 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //viene costruita la socket
if (s1 <0)
{ printf("la socket non funziona /r/n");
return -1;}
printf("\r\n");
printf("\n...Connessione al server in atto...\n");
connect(s1,(struct sockaddr*)&sin,sizeof(sin)); //crea la connessione con il server di Google
recv(s1,answer1,sizeof(answer1),0);
printf("S: %s\n",answer1);
send(s1,"USER ",strlen("USER "),0); /*manda USER <pop.gmail.com>*/
printf("------> Scrivi il tuo indirizzo email\r\n");
scanf("%s",sendpop1);
send(s1,sendpop1,sizeof(sendpop1),0);
send(s1,"\r\n",strlen("\r\n"),0);
recv(s1,answer1,sizeof(answer1),0); /*riceve la risposta del server */
printf("S: %s\n",answer1); /*stampa la risposta */
printf("\r\n");
strcpy(answer1,"");
strcpy(sendpop1,"");
send(s1,"PASS ",strlen("PASS "),0); /*manda PASS a <pop.gmail.com>*/
printf("------> Scrivi la tua password \r\n");
scanf("%s",sendpop1);
send(s1,sendpop1,sizeof(sendpop1),0);
send(s1,"\r\n",strlen("\r\n"),0);
printf("\r\n");
recv(s1,answer1,sizeof(answer1),0); /*riceve la risposta del server*/
printf("S: %s\r\n",answer1); /*stampa la risposta del server*/
printf("\r\n");
strcpy(answer1,"");
strcpy(sendpop1,"");
send(s1,"STAT\r\n",strlen("STAT\r\n"),0); /*manda STAT per mostrare la quantità delle email ricevute la grandezza dei byte*/
printf("C: STAT\r\n");
printf("\r\n");
recv(s1,answer1,sizeof(answer1),0);
printf("S: %s\n",answer1);
strcpy(answer1,"");
strcpy(sendpop1,"");
printf("\r\n");
printf("Scrivi LIST per vedere un elenco delle email ricevute,\r\n");
printf("saranno mostrate solo alcune email\r\n");
scanf("%s",sendpop1);
send(s1,sendpop1,sizeof(sendpop1),0);
send(s1,"\r\n",strlen("\r\n"),0);
recv(s1,answer1,sizeof(answer1),0);
printf("S: %s\r\n",answer1);
strcpy(answer1,"");
printf("\r\n");
if (strstr(answer1,str)== NULL)
{ recv(s1,answer1,sizeof(answer1),0);
printf("S: %s\r\n",answer1);
strcpy(answer1,"");
}
fflush(stdin);
fflush(stdout);
printf("Vuoi leggere una email ? Scrivi s si n no\r\n");
fflush(stdin);
scanf("%c",&leg);
while (leg =='s' )
{
printf("\r\n");
strcpy(sendpop1,"");
strcpy(answer1,"");
if (leg == 's')
{ printf("\r\n");
printf("Scrivi il numero della email che deve essere aperta\r\n");
send(s1,"RETR ",strlen("RETR "),0);
scanf("%s",sendpop1);
send(s1,sendpop1,sizeof(sendpop1),0);
send(s1,"\r\n",strlen("\r\n"),0);
strcpy(answer2,"");
recv(s1,answer2,sizeof(answer2),0);
printf("S: %s\r\n",answer2);
strcpy(answer2,"");
if (strstr(answer2,str)== NULL)
{ recv(s1,answer2,sizeof(answer2),0);
printf("S: %s\r\n",answer2);
strcpy(answer2,"");
}
leg=' ';
}
strcpy(answer2,"");
printf("\r\n");
printf("Vuoi leggere una email ? Scrivi s si n no\r\n");
fflush(stdin);
scanf("%c",&leg);
}