1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    mars 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2017
    Messages : 1
    Points : 2
    Points
    2

    Par défaut problème pour recevoir un Mail en java

    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 "xxx@gmail.com", 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 :

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    private static void receiveMessage() {
           // 1 -> La session
             //String host="pop.gmail.com";
             String host="localhost";
             String user="xxx@gmail.com";
             String pwd="xxxxxx";
     
           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();
               }
           });
       }

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java/Eclipse RCP
    Inscrit en
    septembre 2009
    Messages
    10 027
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java/Eclipse RCP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2009
    Messages : 10 027
    Points : 24 597
    Points
    24 597
    Billets dans le blog
    2

    Par défaut

    Salut,

    Pour accéder à une bal gmail, il faut utiliser SSL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    String host = "pop.gmail.com"; // adresse du service pop
    int port = 995;
    Properties properties = new Properties();
    properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
     
    final javax.mail.Session session = javax.mail.Session.getInstance(properties);
    Store store = session.getStore("pop3s");
    store.connect(host, port, adressemail, motdepasse);
    /*... */
    if ( store.isConnected() ) {
       store.close(); // déconnexion
    }
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/03/2010, 12h03
  2. [Runtime] Problème pour exécuter un chmod en java
    Par tonton_charlie dans le forum APIs
    Réponses: 5
    Dernier message: 27/07/2009, 08h35
  3. Problème pour recevoir des Traps SNMP
    Par beldin22 dans le forum APIs
    Réponses: 2
    Dernier message: 06/05/2009, 11h14
  4. Cryptage SSL pour recevoir des mail
    Par maximedrouet dans le forum Web & réseau
    Réponses: 8
    Dernier message: 10/04/2009, 14h28
  5. Problème de réception de mail avec java mail
    Par osiris23 dans le forum APIs
    Réponses: 2
    Dernier message: 26/05/2008, 21h43

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