Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- String user = "mail@mail.com";
- String password = "mypassword";
- try{
- boolean foundSites = false;
- // Get a Properties object
- Properties properties = new Properties();
- properties.put("mail.imaps.host", host);
- properties.put("mail.imaps.port", port);
- properties.put("mail.imaps.starttls.enable", SSL);
- //properties.put("mail.imap.fetchsize", "1000000");
- Session emailSession = Session.getDefaultInstance(properties);
- //create the POP3 store object and connect with the pop server
- Store store = emailSession.getStore("imaps");
- store.connect(host, user, password);
- //create the folder object and open it
- Folder emailFolder = store.getFolder("INBOX");
- emailFolder.open(Folder.READ_ONLY);
- // retrieve the messages from the folder in an array and print it
- Message[] messages = emailFolder.getMessages();
- System.out.println("messages.length---" + messages.length);
- LocalDateTime now = LocalDateTime.now();
- int year = now.getYear();
- int month = now.getMonthValue();
- int day = now.getDayOfMonth();
- for (int i = messages.length - 1; i >= 0; i--) {
- Message message = messages[i];
- Calendar cal = Calendar.getInstance();
- cal.setTime(message.getReceivedDate());
- int yearMessage = cal.get(Calendar.YEAR);
- int monthMessage = cal.get(Calendar.MONTH) + 1;
- int dayMessage = cal.get(Calendar.DAY_OF_MONTH);
- if(year == yearMessage && month == monthMessage && day == dayMessage)
- {
- //The real code is doing this with 20 Subjects (20 emails)
- if(message.getSubject().equalsIgnoreCase("Integration - Site Info") && foundSites != true)
- {
- System.out.println("found Integration - Site Info");
- Multipart multipart = (Multipart) message.getContent();
- List<File> attachments = new ArrayList<>();
- for (int j = 0; j < multipart.getCount(); j++) {
- BodyPart bodyPart = multipart.getBodyPart(j);
- if(Part.ATTACHMENT.equalsIgnoreCase(bodyPart.getDisposition()))
- {
- InputStream is = bodyPart.getInputStream();
- File f = new File("./attachments/"
- + "sites_"+Integer.toString(day)+"-"+Integer.toString(month)+"-"+Integer.toString(year)+".csv");
- FileOutputStream fos = new FileOutputStream(f);
- byte[] buf = new byte[4096];
- int bytesRead;
- while((bytesRead = is.read(buf))!=-1) {
- fos.write(buf, 0, bytesRead);
- }
- fos.close();
- attachments.add(f);
- foundSites = true;
- break;
- }
- }
- }
- }
- if(foundSites)
- {
- break;
- }
- } catch (Exception e) {
- System.out.println(e);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement