Envoyer un mail en VC++ par SMTP

amizak Messages postés 10 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 8 novembre 2005 - 6 nov. 2005 à 13:31
cs_keks Messages postés 34 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 24 janvier 2008 - 8 nov. 2005 à 16:46
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 serveur smtp
Dans la forme du mail je dois mettre l'adresse du serveur. Est ce ke je dois mettre l' adresse IP de ma machine ? donner la forme du mail ainsi ke le serveur.
merci infiniment

7 réponses

shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
6 nov. 2005 à 17:26
je te conseil d'utiliser les sockets et d'utiliser le traditionnel, tu te connecte a ton ip sur le port 25 et tu envoi avec les send();

MAIL FROM: <ton email>
RCPT TO: <destinataire>
DATA
ici texte du mail normal

et un point seul dans la ligne pour l'envoyer
0
amizak Messages postés 10 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 8 novembre 2005
6 nov. 2005 à 18:56
est ce que je peux trouver un example de code source ??
0
cs_keks Messages postés 34 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 24 janvier 2008
7 nov. 2005 à 18:06
string requeteSMTP



NomServeur="nomServeur";

NumPort="25";



wVersionRequested = MAKEWORD( 2 , 2);

err = WSAStartup( wVersionRequested , &wsaData);

if(err!=0)

return ;



if (LOBYTE (wsaData.wVersion) !=2 || HIBYTE(wsaData.wVersion ) !=2)

{

WSACleanup();

return ;

}



sock = socket( AF_INET , SOCK_STREAM , 0);



server.sin_family = AF_INET; //nom du domaine



hp = gethostbyname( NomServeur.c_str() );



memcpy( & server.sin_addr , hp->h_addr , hp->h_length); //destination-source



server.sin_port = htons( atoi( NumPort.c_str() ) );



requeteSMTP = "MAIL FROM:<" + emeteur + ">\r\n";

send ( sock , requeteSMTP.c_str() , requeteSMTP.length() , 0);



requeteSMTP = "RCPT TO:<" + destinataire+ ">\r\n";

send ( sock , requeteSMTP.c_str() , requeteSMTP.length() , 0);



requeteSMTP = "DATA\r\n\r\n";

send ( sock , requeteSMTP.c_str() , requeteSMTP.length() , 0);



requeteSMTP = "Subject:" + sujet + "\r\n";

send ( sock , requeteSMTP.c_str() , requeteSMTP.length() , 0);



requeteSMTP = message + "\r\n" + "." + "\r\n";

send ( sock , requeteSMTP.c_str() , requeteSMTP.length() , 0);
0
amizak Messages postés 10 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 8 novembre 2005
8 nov. 2005 à 11:10
j'ai tester ce programme, mais ça ne marche pas :(
est ce que vous pouvez me donner une explication de ce qui se passe??
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amizak Messages postés 10 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 8 novembre 2005
8 nov. 2005 à 16:16
j'ai un autre probleme.
quand j'envoie les socket au serveur, il les reçoit. mais au niveau de la socket (où on met l'adresse du destinataire) je reçoi le message suivant :
"550 5.7.1 Unable to relay for _adresseDestinataire_"
meci pour votre aide
0
amizak Messages postés 10 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 8 novembre 2005
8 nov. 2005 à 16:41
normalement il doit m'envoyer 250 au lieu de 550.
aidez moi, c'est urgent
0
cs_keks Messages postés 34 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 24 janvier 2008
8 nov. 2005 à 16:46
je suis désolé je ne compren pas pourquoi mon code ne marche pas .

Chez moi sa marche en tout cas.



bon courage a toi
0
Rejoignez-nous