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

Java Discussion :

Erreur JavaMail Unrecognized command


Sujet :

Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 60
    Points : 57
    Points
    57
    Par défaut Erreur JavaMail Unrecognized command
    Bonjour,

    J'essais d'envoyer un email utilisant JavaMail, j'ai créer une Classe qui envoi les emails et ça marche très bien sur un ordinateur quand j'ai mis mon code sur un autre ordinateur ça marche plus ça me donne une exception, je trouve nulle part une personne ayant le même problème j'ai tout essayé j'ai réinstallé la JVM pour avoir la même.

    Voici le 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
     
    public boolean send(String destinataire,String destinataire2,String message_objet,String message)
    { 	
                logger.info("Sending mail to : "+destinataire+" , "+destinataire2);
                Session session = Session.getDefaultInstance(props, null);
                session.setDebug(true);
                Transport transport = session.getTransport();
                Message mesg = new MimeMessage(session);
                InternetAddress toAddress = new InternetAddress(destinataire);
                mesg.addRecipient(Message.RecipientType.TO, toAddress);
                mesg.addRecipient(Message.RecipientType.TO, toAddress2);
                mesg.setFrom(new InternetAddress(account));
                mesg.setSubject(message_objet);
                mesg.setText(message);
                transport.connect(getConfig("smtpserver"),Integer.parseInt(getConfig("port")), account, password);
                transport.sendMessage(mesg,mesg.getRecipients(Message.RecipientType.TO));
    }
    Voici l'exception :

    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
     
    DEBUG: setDebug: JavaMail version 1.4.3
    DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
    DEBUG SMTP: useEhlo true, useAuth false
    DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 25, isSSL false
    220 mx.google.com ESMTP q30sm22748283qcq.12
    DEBUG SMTP: connected to host "smtp.gmail.com", port: 25
     
    EHLO novice-PC.mshome.net
    250-mx.google.com at your service, [81.192.199.162]
    250-SIZE 35651584
    250-8BITMIME
    250-AUTH LOGIN PLAIN XOAUTH
    250-ENHANCEDSTATUSCODES
    250 STARTTLS
    DEBUG SMTP: Found extension "SIZE", arg "35651584"
    DEBUG SMTP: Found extension "8BITMIME", arg ""
    DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XOAUTH"
    DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
    DEBUG SMTP: Found extension "STARTTLS", arg ""
    STARTTLS
    502 5.5.1 Unrecognized command. q30sm22748283qcq.12
    ERROR [main] (SendEmail.java:70) MessagingException : [Ljava.lang.StackTraceElement;@167d940
    javax.mail.MessagingException: 502 5.5.1 Unrecognized command. q30sm22748283qcq.12
     
    	at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1795)
    	at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1644)
    	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:534)
    	at javax.mail.Service.connect(Service.java:291)
    	at com.sofrecom.SendMail.SendEmail.send(SendEmail.java:59)
    	at com.sofrecom.SendMail.SendEmail.main(SendEmail.java:122)
    SVP Si vous avez une idée, sur ce que ça pourrait être n'hésitez pas .

    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    La source du problème n'est pas le code Java, je viens de tester d'envoyer un email avec les commandes SMTP en utilisant telnet sur le serveur smtp.gmail.com sur le port 25 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ehlo
    250-mx.google.com at your service, [81.192.199.162]
    250-SIZE 35651584
    250-8BITMIME
    250-AUTH LOGIN PLAIN XOAUTH
    250-ENHANCEDSTATUSCODES
    250 STARTTLS
    STARTTLS
    502 5.5.1 Unrecognized command. h34sm22945876qcm.26

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    essaie le port 587 pour faire un starttls

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    Sur la documentation google ils disent qu'ils ont désactivé la commande starttls, donc dans mon code j'ai supprimé la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    props.put("mail.smtp.starttls.enable","true");
    Et ça marche, je sais pas à quoi ça sert, ni pourquoi ça fonctionne sur l'autre ordinateur, mais j'ai résolut mon problème, si vous avez des explications ce serait toujours intéressant de savoir je vais continuer mon travail.

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    starttls démarre l'encryptage de la communication, ce qui protège ton mot de passe et tes emails pendant leur transfert.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    Je confirme que ça fonctionne avec starttls sur un ordinateur et pas sur l'autre, il faut activé un service ou quelque chose du genre pour pouvoir faire fonctionné la protection ?

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    essaie le port 587 pour faire un starttls
    ça pose le même problème avec le port 587

Discussions similaires

  1. erreur sur la commande eroute
    Par irnatene dans le forum Sécurité
    Réponses: 2
    Dernier message: 17/02/2007, 14h12
  2. Gestion des erreurs sur une commande multiple
    Par domiq44 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 05/10/2006, 15h03
  3. Erreur avec la commande free
    Par be_tnt dans le forum C
    Réponses: 17
    Dernier message: 14/06/2006, 11h20
  4. unrecognized command line.....DEVC++
    Par Guillaume602 dans le forum Dev-C++
    Réponses: 8
    Dernier message: 20/11/2005, 15h18
  5. Rediriger les erreurs d'une commande
    Par GLDavid dans le forum Langage
    Réponses: 9
    Dernier message: 10/11/2005, 21h03

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