Параметр массива сообщений недоступен - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь импортировать сообщение gmail в мои сервлеты и анализировать почту, так как по их теме я объявил обычный java-класс как Mail и объявил в нем метод приема и вызвал ту же функцию в соединении сервлетов java очень хорошо установлено, что сообщения импортируются в массив Message [], а затем в Message msg .... но после этого вроде msg.getSubject работает нормально

try{
        Properties prop=new Properties();
         prop.put("mail.imap.host", host);
          prop.put("mail.imap.port", "993");
         // prop.put("mail.imap.starttls.enable", "true");

          //SSl Properties
          prop.setProperty("mail.imap.socketFactory.class","javax.net.ssl.SSLSocketFactory");
          prop.setProperty("mail.imap.socketFactory.fallback","false");
          prop.setProperty("mail.imap.socketFactory.port",String.valueOf(993));


          /*Session emailSession = Session.getInstance(prop, new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(email, pass);
                }
            }) ;*/
        Session emailSession = Session.getDefaultInstance(prop);

          //create the POP3 store object and connect with the pop server
          Store store = emailSession.getStore("imap");

          store.connect(email, pass);

          //create the folder object and open it
          /*Folder emailFolder = store.getFolder("INBOX");
          emailFolder.open(Folder.READ_ONLY);*/
          IMAPFolder folder=(IMAPFolder) store.getFolder("INBOX");
          folder.open(folder.READ_ONLY);

          // retrieve the messages from the folder in an array and print it
          Message[] messages = folder.getMessages();
          System.out.println("messages.length---" + messages.length);

          for (int i = 0, n = messages.length; i < n; i++) {
             Message message = messages[i];
         //    System.out.println(message.getContentType()+"\t"+message.getContent()
           //        +"\n"+message.getFrom());

             if(message.getSubject().matches("Offline message sent by")){
                 System.out.println("++++++++++++++   PATTERN     MATCHES    ++++++++++++");
                 result="";
                 result=i+""+message.getContentType()+"\n"+message.getContent();


                 System.out.println(result);
             }
            } 

ошибка в основном произошла в

 for (int i = 0, n = messages.length; i < n; i++) {
             Message message = messages[i];


             if(message.getSubject().matches("Offline message sent by")){
                 System.out.println("++++++++++++++   PATTERN     MATCHES    ++++++++++++");
                 result="";
                 result=i+""+message.getContentType()+"\n"+message.getContent();


                 System.out.println(result);
             }
            } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...