Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.util.logging.*;
- import javax.mail.*;
- public class EmailSession {
- private Session session;
- private Store store;
- private Folder inbox;
- private int messageCount;
- private int unreadMessageCount;
- private List<Message> unreadMessages;
- public EmailSession() {
- Properties props = new Properties();
- props.setProperty("mail.store.protocol", MyProps.getProperty("mail.store.protocol"));
- try {
- session = Session.getInstance(props, null);
- store = session.getStore();
- store.connect(VMT.getProperty("mail.host"), MyProps.getProperty("mail.user"), MyProps.getProperty("mail.password"));
- inbox = store.getFolder(MyProps.getProperty("mail.foldername"));
- inbox.open(Folder.READ_ONLY);
- messageCount = inbox.getMessageCount();
- List<Message> messages;
- if (messageCount > 100) {
- Logger.getLogger(EmailSession.class.getName()).log(Level.WARNING,
- "More than 100 messages");
- messages = Arrays.asList(inbox.getMessages(1, 100));
- } else {
- messages = Arrays.asList(inbox.getMessages());
- }
- unreadMessages = new ArrayList<>();
- unreadMessageCount = 0;
- for (Message message : messages) {
- boolean isUnreadMessage = true;
- for (Flags.Flag flag : message.getFlags().getSystemFlags()) {
- if (flag == Flags.Flag.SEEN) {
- isUnreadMessage = false;
- break;
- }
- }
- if (isUnreadMessage) {
- unreadMessages.add(message);
- unreadMessageCount++;
- }
- }
- inbox.close(true);
- } catch (NoSuchProviderException ex) {
- Logger.getLogger(EmailSession.class.getName()).log(Level.SEVERE, null, ex);
- } catch (MessagingException ex) {
- Logger.getLogger(EmailSession.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public Folder getInbox() {
- return inbox;
- }
- public int getMessageCount() {
- return messageCount;
- }
- public int getUnreadMessageCount() {
- return unreadMessageCount;
- }
- public List<Message> getUnreadMessages() {
- return unreadMessages;
- }
- public boolean close() {
- try {
- store.close();
- return true;
- } catch (MessagingException ex) {
- Logger.getLogger(EmailSession.class.getName()).log(Level.SEVERE, null, ex);
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement