[c++] envoie d'un mail avec login et mot de passe

envoie d'un mail avec login et mot de passe [c++] - C++ - Programmation

Marsh Posté le 27-10-2006 à 15:25:08    

Salut,
 
Je programme actuellement un utilitaire capable d'envoyer des mails avec pièces jointes.
J'ai très bien réussi à le faire mais le truc ce que j'envoie les mails de ma boîte et le smtp n'a pas besoin de mot de passe no de login.
 
Ma question est la suivante quelles sont les données à envoyer par le socket pour inclure le login + pswd?
 
PS : je me demandais si il fallait pas rajouter dans mon string
des paramètres ?
 

Code :
  1. string step1 = "From: "+ from +"\r\nTo: "+ to +"\r\nX-Priority: 3\r\nMINE-Version: 1.0\r\nSubject:hmmmmmmm\r\nContent-type: multipart/mixed;
  2. ...boundary=skfhskfhqfhozhfloqzhfilqhflqefhlqfh\r\n\r\n--bb32f0a41b7155b18982fa256e5974aba\r\nContent-Type: text/html\r\nContent-Disposition:
  3. ...inline\r\n\r\n"


Message édité par jambon le 27-10-2006 à 15:26:05
Reply

Marsh Posté le 27-10-2006 à 15:25:08   

Reply

Marsh Posté le 27-10-2006 à 15:30:36    

http://www.iprelax.fr/smtp/821tm.php ?
 
Ensuite pour le login/pwd, ca dépend de la conf du serveur smtp

Reply

Marsh Posté le 27-10-2006 à 15:41:06    

Merci pour le lien mais j'ai bien réussi à envoyer le mail + pièce jointe.
 
Pour le smtp j'utilise Yahoo, où je peux bien trouver ces infos???


Message édité par jambon le 27-10-2006 à 15:41:44
Reply

Marsh Posté le 27-10-2006 à 15:42:56    

y'a besoin d'un mot de passe pour le smtp yahoo ?

Reply

Marsh Posté le 27-10-2006 à 15:45:22    

Justement ma question est :
 
quelles sont les données à envoyer par le socket pour inclure le login + pswd?

Reply

Marsh Posté le 27-10-2006 à 15:51:25    

t'as cherché dans les rfc ??

Reply

Marsh Posté le 27-10-2006 à 16:00:56    

oui j'ai regardé dans le rfc que tu m'as filé mais pas d'authentification à l'horizon.
 
PS: je me sens un peu bête car je savais pas ce que c'était une RFC

Reply

Marsh Posté le 27-10-2006 à 16:05:21    

C'est à dire que smtp est un protocole, sans la doc ca va etre plus dur pour toi.

Reply

Marsh Posté le 27-10-2006 à 16:06:21    

Il devrait y avoir des choses là:
http://www.google.fr/search?hs=Mcm [...] cher&meta=

Reply

Marsh Posté le 27-10-2006 à 16:43:19    

merci pour le lien,
j'ai suivie cette procédure :
        01: S: 220 saslserve.example.com ESMTP
        02: C: EHLO saslclient.example.com
        03: S: 250-saslserve.example.com
        04: S: 250-PIPELINING
        05: S: 250-SIZE 10240000
        06: S: 250-ETRN
        07: S: 250-AUTH LOGIN DIGEST-MD5 CRAM-MD5 PLAIN
        08: S: 250 8BITMIME
        09: C: AUTH LOGIN
        10: S: 334 VXNlcm5hbWU6
        11: C: Ym9maA==
        12: S: 334 UGFzc3dvcmQ6
        13: C: Ym9maA==
        14: S: 235 Authentication successful
        15: C: MAIL FROM:<devin@example.com> SIZE=697
        16: S: 250 Ok
        17: C: RCPT TO:<root@saslserve.example.com>
        18: S: 250 Ok
        19: C: DATA
        20: S: 354 End data with <CR><LF>.<CR><LF>
        21: S: 250 Ok: queued as 1CF2E1D962
        22: C: QUIT
        23: S: 221 Bye
 
j'ai un autre problème qui est apparu je n'arrive pas à joindre le serveur smtp de yahoo (j'ai essayé avec laposte aussi)
Lorsque que je fais un recv pas moyen d'obtenir qq chose...
En fait je n'ai mm pas la liaison avec le smtp yahoo alors que celui de ma boite marche bien (smtp.masociété.com)

Message cité 1 fois
Message édité par jambon le 27-10-2006 à 16:56:39
Reply

Marsh Posté le 27-10-2006 à 16:43:19   

Reply

Marsh Posté le 28-10-2006 à 16:27:28    

personne?

Reply

Marsh Posté le 06-11-2006 à 17:52:42    

jambon a écrit :

merci pour le lien,
j'ai suivie cette procédure :
        01: S: 220 saslserve.example.com ESMTP
        02: C: EHLO saslclient.example.com
        03: S: 250-saslserve.example.com
        04: S: 250-PIPELINING
        05: S: 250-SIZE 10240000
        06: S: 250-ETRN
        07: S: 250-AUTH LOGIN DIGEST-MD5 CRAM-MD5 PLAIN
        08: S: 250 8BITMIME
        09: C: AUTH LOGIN
        10: S: 334 VXNlcm5hbWU6
        11: C: Ym9maA==
        12: S: 334 UGFzc3dvcmQ6
        13: C: Ym9maA==
        14: S: 235 Authentication successful
        15: C: MAIL FROM:<devin@example.com> SIZE=697
        16: S: 250 Ok
        17: C: RCPT TO:<root@saslserve.example.com>
        18: S: 250 Ok
        19: C: DATA
        20: S: 354 End data with <CR><LF>.<CR><LF>
        21: S: 250 Ok: queued as 1CF2E1D962
        22: C: QUIT
        23: S: 221 Bye
 
j'ai un autre problème qui est apparu je n'arrive pas à joindre le serveur smtp de yahoo (j'ai essayé avec laposte aussi)
Lorsque que je fais un recv pas moyen d'obtenir qq chose...
En fait je n'ai mm pas la liaison avec le smtp yahoo alors que celui de ma boite marche bien (smtp.masociété.com)


 
Le smtp yahoo ne doit pas être ouvert à autre chose qu'aux frontaux web yahoo sans doutes ...


---------------
Töp of the plöp
Reply

Marsh Posté le 06-11-2006 à 18:43:36    

Si, il est accessible à partir de Thunderbird avec smtp.mail.yahoo.fr
Par contre, j'ai pas de réponse :(

Reply

Marsh Posté le 07-11-2006 à 08:30:44    


Dans ton programme regarde ce que ca donne avec une connexion au POP de Yahoo
avant de faire la connexion au SMTP.
 


---------------

Reply

Marsh Posté le 07-11-2006 à 18:16:53    

oupss dsl, j'avais pas mis à jour.... Je suis derrière un firewall d'entreprise il faut que je l'essai chez moi mais avant il faut que j'installe mon ide.
Je vs tiens au courant dès que possible

Reply

Marsh Posté le 29-12-2006 à 17:54:04    

Après avoir laissé de côté mon prog pdt 2 mois, je reviens à l'assault.
J'arrive bien à faire un gethostByname mais j'arrive tjs pas à envoyer
un mail avec authentification voici un petit bout de mon prog
   
 

Code :
  1. Process("HELO SenderBySMTP\r\n" );
  2.    Process("AUTH LOGIN" );
  3.    Process("jambon" );
  4.    Process("MotDePAsse" );
  5.    Process( "jambon@yahoo.fr" );
  6.    Process( "jambon@gmail.com" );
  7.    Process( "DATA\r\n" );


avec

Code :
  1. void Process( char * buffer )
  2. {
  3.   Sleep( 1000 );
  4.    //cerr << "Envoye < " << buffer << endl;
  5.    int size = strlen( buffer );
  6.    int retVal = send( to_server_socket, buffer, size, 0 );
  7.    char buf[ 1024 ];
  8.    buf[0] = 0x00;
  9. }


 


Message édité par jambon le 29-12-2006 à 17:55:27
Reply

Marsh Posté le 01-01-2007 à 18:11:46    

As-tu regardé le RFC pour le SMTP ?

Reply

Marsh Posté le 02-01-2007 à 14:09:39    

Ben les procédures décrites ci-dessus viennent des RFC

Reply

Marsh Posté le 09-01-2007 à 18:49:29    

Bon j'y arrive pas alors j'ai vu qu'il y a des librairie,
quelqu'un pourrait m'en conseiller une bien qui s'intègre
facilement à visual 2005 et facile à utiliser?
 
J'en ai trouvé une sur le net, si qq'un a 1 avis sur la question....
 SMTP/POP3 Email Engine for C/C++

Reply

Marsh Posté le 10-01-2007 à 10:41:39    

Bon bah vous bousculez pas surtout....
J'ai trouvé un truc qui pourrait arrangé tout mes problèmes http://www.developpez.net/forums/showthread.php?t=4112
En revanche elle marche sur borland, je vais regarder si par hasard il existe un moyen de mettre ça sous visual


Message édité par jambon le 10-01-2007 à 10:51:58
Reply

Marsh Posté le 11-01-2007 à 11:45:30    

YOUOUHOUUUUUUUUUUUUUUUUU  :pt1cable:  
 :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  
C bon, j'y suis enfin arrivé grâce à ...... moi (oui j'en suis fier
même si c'était évident...)
Même si vs m'avez abandonné j'espère que ce topic pourra en aider certains.
 
J'ai vraiment galéré jusqu'à aller sniffer à l'aide de 2 PC les paquets envoyés et  
en allant voir des sites un peu exotique http://www.7880.com/info/Article-4dc42460.html.
Tout ça pour comprendre que le mot de passe et le login devaient être cryptés en base64....
 
Voila c tt con mais k'est-ce ke j'ai galéré (c'est svt ça la prog). @ +

Message cité 1 fois
Message édité par jambon le 11-01-2007 à 16:51:36
Reply

Marsh Posté le 11-01-2007 à 19:54:07    

jambon a écrit :

YOUOUHOUUUUUUUUUUUUUUUUU  :pt1cable:  
 :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  
C bon, j'y suis enfin arrivé grâce à ...... moi (oui j'en suis fier
même si c'était évident...)
Même si vs m'avez abandonné j'espère que ce topic pourra en aider certains.
 
J'ai vraiment galéré jusqu'à aller sniffer à l'aide de 2 PC les paquets envoyés et  
en allant voir des sites un peu exotique http://www.7880.com/info/Article-4dc42460.html.
Tout ça pour comprendre que le mot de passe et le login devaient être cryptés en base64....
 
Voila c tt con mais k'est-ce ke j'ai galéré (c'est svt ça la prog). @ +


Dommage je viens d'arriver. En tout cas, avant d'essayer d'implémenter un protocole en C/C++, tu aurais pu faire des essais tout simples avec "telnet"...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 12-01-2007 à 12:04:52    

Oui c sûr t'aurais du arriver avant pour me le dire car  
n'ayant jamais utiliser telnet et ne connaissant pas ses
possibiliés, jamais je n'aurais pu y penser....

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed