import java.util.Properties; import javax.mail.Address; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; import javax.mail.Session; import javax.mail.Store; import javax.mail.internet.MimeMessage.RecipientType; public class InboxReaderIMAPLast10 { public static void main(String argv[]) { final int MAX_MESSAGES=10; String user = null; String password = null; for (int optind = 0; optind < argv.length; optind++) { if (argv[optind].equals("-U")) { user = argv[++optind]; } else if (argv[optind].equals("-P")) { password = argv[++optind]; } } Properties props = System.getProperties(); props.setProperty("mail.store.protocol", "imaps"); try { Session session = Session.getDefaultInstance(props, null); Store store = session.getStore("imaps"); store.connect("imap.gmail.com", "cloudservicereport@gmail.com","ccooooll"); System.out.println(store); Folder inbox = store.getFolder("Inbox"); inbox.open(Folder.READ_ONLY); System.out.println("Total messages = " + inbox.getMessageCount()); System.out.println("New messages = " + inbox.getNewMessageCount()); System.out.println("unread messages = " + inbox.getUnreadMessageCount()); System.out.println("deleted messages = " + inbox.getDeletedMessageCount()); // Get the last 10 messages int end = inbox.getMessageCount(); int start = end - MAX_MESSAGES + 1; Message messages[] = inbox.getMessages(start, end); // Reverse the ordering so that the latest comes out first Message messageReverse[] = reverseMessageOrder(messages); // Print the messages out System.out.println("message size = " + messages.length + "\n"); int i =0; for (Message message : messageReverse) { i++; dumpMessage(i,message); } } catch (NoSuchProviderException e) { e.printStackTrace(); System.exit(1); } catch (MessagingException e) { e.printStackTrace(); System.exit(2); } } /* * reverse the order of the messages */ private static Message[] reverseMessageOrder(Message[] messages) { Message revMessages[]= new Message[messages.length]; int i=messages.length-1; for (int j=0;j<messages.length;j++,i--)> revMessages[j] = messages; //that above mentioned error occurs here in netbeans ide } return revMessages; } private static void dumpMessage(int i, Message message) throws MessagingException { System.out.println(i + " Message envelope"); System.out.println("------------------"); // FROM for (Address address:message.getFrom()) { System.out.println("FROM: " + address.toString()); } // TO for (Address address:message.getRecipients(RecipientType.TO)) { System.out.println("To: " + address.toString()); } // SUBJECT System.out.println("Subject: " + message.getSubject() + "\n"); } }
revMessages[j] = messages
revMessages[j] = messages[i]
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)