Advertisement
Guest User

Untitled

a guest
Jul 31st, 2014
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.logging.*;
  3. import javax.mail.*;
  4.  
  5. public class EmailSession {
  6.  
  7. private Session session;
  8. private Store store;
  9. private Folder inbox;
  10. private int messageCount;
  11. private int unreadMessageCount;
  12. private List<Message> unreadMessages;
  13.  
  14. public EmailSession() {
  15. Properties props = new Properties();
  16. props.setProperty("mail.store.protocol", MyProps.getProperty("mail.store.protocol"));
  17. try {
  18. session = Session.getInstance(props, null);
  19. store = session.getStore();
  20. store.connect(VMT.getProperty("mail.host"), MyProps.getProperty("mail.user"), MyProps.getProperty("mail.password"));
  21. inbox = store.getFolder(MyProps.getProperty("mail.foldername"));
  22. inbox.open(Folder.READ_ONLY);
  23. messageCount = inbox.getMessageCount();
  24. List<Message> messages;
  25. if (messageCount > 100) {
  26. Logger.getLogger(EmailSession.class.getName()).log(Level.WARNING,
  27. "More than 100 messages");
  28. messages = Arrays.asList(inbox.getMessages(1, 100));
  29. } else {
  30. messages = Arrays.asList(inbox.getMessages());
  31. }
  32. unreadMessages = new ArrayList<>();
  33. unreadMessageCount = 0;
  34. for (Message message : messages) {
  35. boolean isUnreadMessage = true;
  36. for (Flags.Flag flag : message.getFlags().getSystemFlags()) {
  37. if (flag == Flags.Flag.SEEN) {
  38. isUnreadMessage = false;
  39. break;
  40. }
  41. }
  42. if (isUnreadMessage) {
  43. unreadMessages.add(message);
  44. unreadMessageCount++;
  45. }
  46. }
  47. inbox.close(true);
  48. } catch (NoSuchProviderException ex) {
  49. Logger.getLogger(EmailSession.class.getName()).log(Level.SEVERE, null, ex);
  50. } catch (MessagingException ex) {
  51. Logger.getLogger(EmailSession.class.getName()).log(Level.SEVERE, null, ex);
  52. }
  53. }
  54.  
  55. public Folder getInbox() {
  56. return inbox;
  57. }
  58.  
  59. public int getMessageCount() {
  60. return messageCount;
  61. }
  62.  
  63. public int getUnreadMessageCount() {
  64. return unreadMessageCount;
  65. }
  66.  
  67. public List<Message> getUnreadMessages() {
  68. return unreadMessages;
  69. }
  70.  
  71. public boolean close() {
  72. try {
  73. store.close();
  74. return true;
  75. } catch (MessagingException ex) {
  76. Logger.getLogger(EmailSession.class.getName()).log(Level.SEVERE, null, ex);
  77.  
  78. return false;
  79. }
  80. }
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement