IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Client mail POP3


Sujet :

Réseau C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Client mail POP3
    Bonsoir,

    J'ai pour projet de réaliser un petit client POP3 pour consulter mes mails.J ai commence mes test en utilisant les socket et j'arrive a me connecter au serveur POP3 de ma boite mail.J'essaye ensuite d'envoyer un chaine pour mon login("user monLogin") et si j ai bien compris je dois réceptionner la réponse (avec recv())qui doit contenir un truc du genre "+ok user valid".Je reçois bien quelque chose mais ça n'a rien a voir avec la réponse que je dois avoir!
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    #include <winsock2.h>
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
        WSADATA WSAData;
        WSAStartup(MAKEWORD(2,2), &WSAData);
     
        int err;
        char log[] = {"user monLogin"};
        char pass[] = {"pass monMotDePasse"};
        char *buff,*buff2;
        SOCKET sock;
        SOCKADDR_IN sin;
     
        buff = malloc(100*sizeof(char));
        buff2 = malloc(100*sizeof(char));
     
        sock = socket(PF_INET,SOCK_STREAM,0);
     
        if(sock != INVALID_SOCKET)
        {
            sin.sin_family = AF_INET;
            sin.sin_port = htons(995);
            sin.sin_addr.s_addr = inet_addr("209.85.229.109");
     
            if(connect(sock,(SOCKADDR_IN*)&sin,sizeof(sin)) != SOCKET_ERROR)
            {
               printf("Connexion à %s sur le port %d\n", inet_ntoa(sin.sin_addr), htons(sin.sin_port));
     
               err = send(sock,log,sizeof(log),0);
               if(err != SOCKET_ERROR)
               {
                   printf("Log envoyer\n");
               }
               err =recv(sock,buff2,sizeof(buff2),0);
               if(err != SOCKET_ERROR)
               {
                    printf("Chaine recu : %s\n",buff2);
               }
     
            }
        }
     
     
    }
    Voila ce que j'obtient dans ma console:

    Connexion Ó 209.85.229.109 sur le port 995
    Log envoyer
    Chaine recu : @♦>

    Process returned 18 (0x12) execution time : 0.594 s
    Press any key to continue.

    Merci d'avance!

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Ton recv() n'est pas bon, tu lui passe ssizeof(buff2) qui vaut 4 (c'est un pointeur). Il faut lui passer la taille allouée (100)

    Au fait, le retour d'un malloc, cela se teste (même si cela echoue rarement)

  3. #3
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Points : 4 637
    Points
    4 637
    Par défaut
    Citation Envoyé par ben83510 Voir le message
    Bonsoir,

    J'ai pour projet de réaliser un petit client POP3 pour consulter mes mails.J ai commence mes test en utilisant les socket et j'arrive a me connecter au serveur POP3 de ma boite mail.J'essaye ensuite d'envoyer un chaine pour mon login("user monLogin") et si j ai bien compris je dois réceptionner la réponse (avec recv())qui doit contenir un truc du genre "+ok user valid".Je reçois bien quelque chose mais ça n'a rien a voir avec la réponse que je dois avoir!
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ...
        char log[] = {"user monLogin"};
     
    ...
     
               err = send(sock,log,sizeof(log),0);
     
    ...
    Si ma mémoire est bonne, dans le protocole POP3 (comme la plupart des protocoles textuels orientés ligne par ailleurs), chaque commande doit être terminé par un CRLF. Donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char log[] = "user monLogin\r\n";

    [EDIT] changement de terme suite à une remarque de ssmario2

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Salut,
    Tu as raison!!!Mais en faisant des recherche,j ai appris qu'en faite on ne peut plus se connecter sur la plupart des boites mail de cette façon.Pour ce connecter maintenant il faut utilisé le cryptage SSL(c est pour ça que le port est 995).Je suis donc à la recherche de doc ou tuto sur OpenSSL.

    Merci de m'avoir accorder un peu de votre temps!!

Discussions similaires

  1. Client mail Horde/IMP en pop3
    Par Tcheby dans le forum Autres Solutions d'entreprise
    Réponses: 0
    Dernier message: 11/03/2010, 09h50
  2. POP3 client MAIL
    Par key31 dans le forum Windows
    Réponses: 1
    Dernier message: 23/08/2007, 14h55
  3. Client mail / navigateur par défaut
    Par Mimi Bulles dans le forum Web & réseau
    Réponses: 1
    Dernier message: 16/08/2005, 22h40
  4. envoi de mail sans l'ouverture du client mail
    Par pittacos dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/08/2005, 15h33
  5. Navigateur et client mail par défaut
    Par gibet_b dans le forum Applications et environnements graphiques
    Réponses: 10
    Dernier message: 28/07/2004, 20h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo