Bonjour.
Je voudrais faire une application qui envoye un mail,sous windows et linux
.Mais je ne trouve pas d'information precises sur les sockets.
Si quelqu'un pouvait m'aider.
Merci beaucoup
Version imprimable
Bonjour.
Je voudrais faire une application qui envoye un mail,sous windows et linux
.Mais je ne trouve pas d'information precises sur les sockets.
Si quelqu'un pouvait m'aider.
Merci beaucoup
Salut,
Voici deux excellentes références pour débuter avec la programmation réseau avec le langage C:
http://emmanuel-delahaye.developpez.com/reseaux.htm
http://vidalcharles.free.fr/lf/socket.html
Le forum le plus adapté pour traiter de la programmation réseau est http://www.developpez.net/forums/forumdisplay.php?f=63
Thierry
http://www.uwo.ca/its/doc/courses/notes/socket/
pour commencer.
Liste de tutoriaux sur les sockets
Pour savoir comment envoyer un mail n'oublie pas non plus de regarder comment fonctionne le protocole SMTP. ;)
Merci Beaucoup pour cette aide
N'hésite pas à poser des questions sur ce que tu ne comprends pas ;)
Ba justement j'en ai une :oops:
Quand je met
sin.sin_port = htons(25);
il ne veut pas me connecter sur le port 25 mais il me connecte sur le port 1025.
J'ai pourtant essayé mais rien à faire.
Si vous avez une idée.
Merci
Comment tu t'en es aperçu ?
ba avec zonealarm il m'indique que mon programme veut acceder a internet avec la bonne adresse mais sur un port different.
Accepte ton programme avec zonealarm et dans une console tape netstat pour voir quel port est en train d'utiliser ton programme.
A ba pour l'instant il ne se connecte pas, meme en loop back.
Pourtant j'ai fais un copié collé...
Télécharge netcat et lance un serveur sur le port 25 (SMTP si je me souviens bien):
Ensuite lance ton client (ton programme) en localhost et regarde si netcat reçoit les commandes du client.Code:netcat -l -p 25
http://fr.wikipedia.org/wiki/Netcat
http://www.vulnwatch.org/netcat/
De quoi ?Citation:
Envoyé par paihpaihtte
Bonsoir,
En fait c'est bon j'ai reussi a me connecter.
Mais maintenant j'ai un autre probleme, je n'arrive pas a donner plus de 1 instruction au serveur et apres il me repond toujours des Bad syntax quoi que je tape,meme QUIT\r\n
Je met mon code si ca peut vous aider:
char buffer[255]="Essai";
send(sock,"HELO machine\r\n",sizeof("HELO machine\r\n"),0); //envoi de helo
recv(sock,buffer,sizeof(buffer),0);
pDialog = gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_CANCEL,"Votre texte :%s",buffer); //affichage sur une fenetre
gtk_dialog_run(GTK_DIALOG(pDialog));
gtk_widget_destroy(pDialog);
char mail[255]="MAIL FROM:<monadresse>\r\n";
send(sock,mail,sizeof(mail),0); // envoi de l'adresse, pourtant c'est la bonne syntaxe
recv(sock,buffer,sizeof(buffer),0);
pDialog = gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_CANCEL,"Votre texte :%s",buffer);
gtk_dialog_run(GTK_DIALOG(pDialog));
gtk_widget_destroy(pDialog);
:tagcode:
Merci.
OKCitation:
Envoyé par paihpaihtte
Non. J'ai expliqué comment faire sur mon site.Citation:
recv(sock,buffer,sizeof(buffer),0);
http://emmanuel-delahaye.developpez....eaux.htm#texte
Regarde mon tuto (bien qu'il n'ait pas encore été publié mais qui ne saurait tarder)
http://broux.developpez.com/articles/protocoles/smtp/
Mmm, ça a l'air bien. Et je reconnais une certaine 'patte' ! Hé hé !Citation:
Envoyé par Skyrunner
Je n'ai pas vu la définition de get_line().
Merci :D :DCitation:
Envoyé par Emmanuel Delahaye
Et j'ai pris tes directives de compilation conditionnelles pour les header selon la plateforme, comme tu as pu le remarquer :P .
Pour la définition de get_line elle y est bien.
Code:
1
2 static void get_line(FILE *file, char *buffer);