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

Langage C++ Discussion :

Telnet erreur commande DATA


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 27
    Par défaut Telnet erreur commande DATA
    Bonjour à tous

    Je travail actuellement sur un projet dans lequel j'ai besoin d'envoyer un mail. Je rencontre une difficultés que je n'arrive pas à résoudre en ce qui concerne la commande DATA dans une communication avec un serveur SMTP. Voici le message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    503 5.5.0 <DATA>: Data command rejected: Improper use of SMTP command pipelining
    Lorsque j'essaie "à la main" directement dans le terminal, pas de problèmes tous fonctionne bien mais au travers de mon programme je me prend cette erreur :/
    Voici la partie du code source qui pose problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    char data[] = "HELO smtp.yopmail.com\r\n"
                  "MAIL FROM:<test@gmail.com>\r\n"
                  "RCPT TO:<zaegffhgjhgfghjtertfgd@yopmail.com>\r\n"
                  "DATA\r\n";
    Alors on est bien d'accord que ce code n'est pas complet bien évidemment (je préfère faire ça étape par étape lorsque j'ai un souci de ce genre).
    Je n'ai pas eu trop de mal avec les sockets, à ce niveau là tous fonctionne bien.

    Sinon je suis sous Ubuntu et puis... Je suis là si vous avez besoin de plus d'infos

    Merci d'avance

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,

    J'avais écris un article sur le sujet, je ne sais pas s'il pourra t'aider pour ton problème.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 27
    Par défaut
    Salut

    J'ai lu ton article et malheureusement j'ai pas trouvé mon bonheur. :/ D'ailleurs je n'ai même pas vu la différence avec mon code source et le tiens là où se situe le problème :S

  4. #4
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Il me semble que tu es censé attendre la réponse du serveur avant d’envoyer la commande suivante.

    Je soupçonne que là, tu lui balances tout sans lui laisser le temps de répondre, d’où l’erreur.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 27
    Par défaut
    Lorsque j'essaie d'envoyer les commandes une à une comme ci-dessous, je me me prend une "syntax error" alors que les commandes SMTP sont les même :/ C'est pour ça que je fait tous d'un coup mais je doit avoir loupé quelque chose...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    char HELO[] = "HELO smtp.mail.com\r\n";
    send(sock, HELO, sizeof(HELO), 0);
     
    char FROM[] = "MAIL FROM:<test@gmail.com>\r\n";
    send(sock, FROM, sizeof(FROM), 0);
     
    char TO[] = "RCPT TO:<zaegffhgjhgfghjtertfgd@mail.com>\r\n";
    send(sock, TO, sizeof(TO), 0);
     
    ...

  6. #6
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Attendre la réponse du serveur = lire la réponse du serveur !!! Il faut faire un recv ou un read sur ta socket !

    Sinon, je pense qu’il ne faut pas mettre dans \r\n mais seulement des \n (pas censé changer grand chose cela dit).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/03/2008, 15h58
  2. [PPC][C#][Sql CE] erreur "no data exists for the row/column"
    Par Jessika dans le forum Windows Forms
    Réponses: 6
    Dernier message: 12/04/2007, 12h13
  3. Erreur 49 : data segment too large
    Par E-branly dans le forum Pascal
    Réponses: 10
    Dernier message: 09/02/2007, 12h57
  4. Réponses: 3
    Dernier message: 23/01/2006, 16h29
  5. Connexion Telnet et commande Shell
    Par Enano dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/11/2005, 08h23

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