- Session session = Session.getInstance(sessionProperties, emailAuthenticator);
- Store store = null;
- Folder inbox = null;
- try {
- store = session.getStore("pop3");
- store.connect();
- inbox = store.getFolder("INBOX");
- inbox.open(Folder.READ_WRITE);
- int count = inbox.getMessageCount();
- if (count > 0) {
- log.info("Found " + count + " messages");
- }
- for (int i = 1; i <= count; i++) {
- log.info("Processing message " + i);
- Message message = inbox.getMessage(i);
- Object content = message.getContent();
- if (content instanceof MimeMultipart) {
- MimeMultipart mimeContent = (MimeMultipart) content;
- int numParts = mimeContent.getCount();
- for (int j = 0; j < numParts; j++) {
- MimeBodyPart part = (MimeBodyPart) mimeContent.getBodyPart(j);
- String contentType = part.getContentType();
- if (!contentType.startsWith("image/")) {
- continue;
- }
- BufferedImage image = ImageIO.read(part.getInputStream());
- if (image != null) {
- Reader reader = new MultiFormatReader();
- Result result = null;
- try {
- result = reader.decode(new BufferedImageMonochromeBitmapSource(image), DecodeServlet.HINTS);
- } catch (ReaderException re) {
- log.info("Decoding FAILED");
- }
+ store = session.getStore("pop3");
+ store.connect();
+ inbox = store.getFolder("INBOX");
+ inbox.open(Folder.READ_WRITE);
+ int count = inbox.getMessageCount();
+ if (count > 0) {
+ log.info("Found " + count + " messages");
+ }
+ for (int i = 1; i <= count; i++) {
+ log.info("Processing message " + i);
+ Message message = inbox.getMessage(i);
+ processMessage(session, message);
+ }
+ } catch (Throwable t) {
+ log.log(Level.WARNING, "Unexpected error", t);
+ } finally {
+ closeResources(store, inbox);
+ }
+ }