Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème pour recevoir un Mail en Java

    11 août 2017 à 16:14:10

    salut tout le monde !!!

    dans le cadre d'un projet sur lequel je suis entrain de travailler, j'aimerai recevoir dans mon application java tous les Email à destination de "kossa.promess@gmail", mais mon code renvoi une erreur du genre "javax.mail.AuthenticationFailedException: failed to connect", j'aimerai savoir d'où provient cette erreure et comment la resoundre.

    merci d'avance.

    et voici mon code :

     private static void receiveMessage() {
            // 1 -> La session
              //String host="pop.gmail.com";
              String host="localhost";
              String user="kossa.promess@gmail.com";
              String pwd="*******";
              
            Properties properties = new Properties();
            properties.setProperty("mail.store.protocol", "pop3");
            properties.setProperty("mail.pop3.host", host);
            properties.setProperty("mail.pop3.user", user);
           // properties.setProperty("mail.pop3.auth","true");
            Session session = Session.getInstance(properties);
            
                // 2 -> Les dossiers
            Store store = null;
            Folder defaultFolder = null;
            Folder inbox = null;
            try {
                store = session.getStore(new URLName("pop3://" + host));
                store.connect(user, pwd);
                defaultFolder = store.getDefaultFolder();
                System.out.println("defaultFolder : " + defaultFolder.getName());
                
               for (Folder folder : defaultFolder.list()) {
                    System.out.println(folder.getName());
                    }
                inbox = defaultFolder.getFolder("INBOX");
               printMessages(inbox);
           } catch (Exception e) {
                e.printStackTrace();
            }
            finally { // Ne pas oublier de fermer tout ça !
                close(inbox);
                //inbox.close(true);
                close(defaultFolder);
               // defaultFolder.close(true);
                try {
                    if (store != null && store.isConnected()) {
                        store.close();
                    }
                } 
                catch (MessagingException e) {
                    e.printStackTrace();
                }
            }
        }
          
          
          
    
        private static void printMessages(Folder folder) {
            try {
                    folder.open(Folder.READ_ONLY);
                    int count = folder.getMessageCount();
                    int unread = folder.getUnreadMessageCount();
                    
                    System.out.println("Il y a " + count + " messages, dont " + unread + " non lus.");
                    for (int i = 1; i <= count; i++ ) {
    
                        Message message = folder.getMessage(i);
                        System.out.println("Message n° " + i);
                        System.out.println("Sujet : " + message.getSubject());
    
                        System.out.println("Expéditeur : ");
                        Address[] addresses = message.getFrom();
                        
                        for (Address address : addresses) {
                         System.out.println("\t" + address);
                       }
                        System.out.println("Destinataires : ");
                        addresses = message.getRecipients(RecipientType.TO);
                        
                        if (addresses != null) {
                            for (Address address : addresses) {
                                System.out.println("\tTo : " + address);
                            }
                        }
                        addresses = message.getRecipients(RecipientType.CC);
                        if (addresses != null) {
                            for (Address address : addresses) {
                                 System.out.println("\tCopie : " + address);
                            }
                        }
    
                        System.out.println("Content : ");
                        for (String line : inputStreamToStrings(message.getInputStream())) {
                            System.out.println(line);
                        }
                    }
            } 
            catch (Exception e) {
                e.printStackTrace();
            }
       } 
        
        
        
        
        private static void close(Folder folder) {
           if (folder != null && folder.isOpen()) {
                try {
                    folder.close(false); // false -> On n'efface pas les messages marqués DELETED
                } 
                catch (Exception e) {
                    e.printStackTrace();
                 }
           }
        }
    
        private static Iterable<String> inputStreamToStrings(InputStream inputStream) {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
        
        
        
        public static void main(String[] args) {
            // TODO code application logic here
            SwingUtilities.invokeLater(new Runnable(){
                public void run(){
                   //FenConnexion cnx=new FenConnexion();
                   // new FenTicket1();
                    
                    receiveMessage();
                }
            });
        }



    -
    Edité par Lamecarlate 14 août 2017 à 13:05:13

    • Partager sur Facebook
    • Partager sur Twitter
      11 août 2017 à 19:37:05

      Juste comme ca : tu devrais enlever le mot de passe de ton courriel ...
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        11 août 2017 à 20:37:38

        Zérotisme a écrit:

        Juste comme ca : tu devrais enlever le mot de passe de ton courriel ...


        Je pense pas que ce soit sont vrai mot de passe, du moins j espere pour lui...

        Sinon il est bon pour le rechanger, et c'est pas forcement utile de mettre ta vraie adresse mail aussi en public (si encore une fois c est la vraie).

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          14 août 2017 à 12:31:39

          javax.mail.AuthenticationFailedException: failed to connect

          Réfléchis deux secondes. Il n'arrive pas à s'authentifier, donc :
          - Soit ton mot de passe/adresse mail est invalide
          - Soit tu as fait une mauvaise requête

          Et sinon, si ont pourrais avoir le stacktrace complet ont pourra plus t'aider.

          • Partager sur Facebook
          • Partager sur Twitter
            14 août 2017 à 13:04:52

            Bonjour,

            j'ai édité le message de l'OP pour remplacer le mot de passe par des astérisques, question de sécurité.

            • Partager sur Facebook
            • Partager sur Twitter

            Pas d'aide concernant le code par MP, le forum est là pour ça :)

              15 août 2017 à 14:07:29

              Lamecarlate a écrit:

              Bonjour,

              j'ai édité le message de l'OP pour remplacer le mot de passe par des astérisques, question de sécurité.

              jobard91 a écrit:

              Zérotisme a écrit:

              Juste comme ca : tu devrais enlever le mot de passe de ton courriel ...


              Je pense pas que ce soit sont vrai mot de passe, du moins j espere pour lui...

              Sinon il est bon pour le rechanger, et c'est pas forcement utile de mettre ta vraie adresse mail aussi en public (si encore une fois c est la vraie).


              Merci , et ( sans aucune mauvaises intentions ) , oui c'etait son vrai mot de passe. C'est pas pour rien je lui ai dit de le changer. Merci d'avoir edité pour lui.


              • Partager sur Facebook
              • Partager sur Twitter
                16 août 2017 à 12:46:15

                bonjour .

                pour ceux qui s'interrogent à propos de mon adresse Email, c'est juste un  email que j'avais creer pour les test .

                et voici mon stacktrace complet, a propos, mon mot de passe et mon Email sont corrects.

                run:
                javax.mail.MessagingException: Connect failed;
                  nested exception is:
                	java.net.ConnectException: Connection refused: connect
                	at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:210)	at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:210)
                	at javax.mail.Service.connect(Service.java:295)
                	at javax.mail.Service.connect(Service.java:176)
                	at javax.mail.Service.connect(Service.java:196)
                	at dialogue.FenTicket1.receiveMessage(FenTicket1.java:92)
                	at dialogue.FenTicket1.access$000(FenTicket1.java:29)
                	at dialogue.FenTicket1$1.run(FenTicket1.java:195)
                	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
                	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
                	at java.awt.EventQueue.access$200(EventQueue.java:103)
                	at java.awt.EventQueue$3.run(EventQueue.java:694)
                	at java.awt.EventQueue$3.run(EventQueue.java:692)
                	at java.security.AccessController.doPrivileged(Native Method)
                	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
                	at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
                	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
                	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
                	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
                	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
                	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
                	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
                Caused by: java.net.ConnectException: Connection refused: connect
                	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
                	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
                	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
                	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
                	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
                	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
                	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
                	at java.net.Socket.connect(Socket.java:579)
                	at java.net.Socket.connect(Socket.java:528)
                	at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:288)
                	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231)
                	at com.sun.mail.pop3.Protocol.<init>(Protocol.java:107)
                	at com.sun.mail.pop3.POP3Store.getPort(POP3Store.java:261)
                	at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:206)
                	... 20 more
                BUILD SUCCESSFUL (total time: 23 seconds)
                
                • Partager sur Facebook
                • Partager sur Twitter
                  16 août 2017 à 12:57:33

                  A mon avis le nom d'hôte que tu utilise n'est pas le bon, il faut que tu utilise celui du smtp de gmail.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  problème pour recevoir un Mail en Java

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown