String host = "imaphz.qiye.163.com";
String username = "1@163.com";
String password = "";
Properties props = new Properties();
props.setProperty("mail.imap.ssl.enable", "true");
Session session = javax.mail.Session.getInstance(props);
Store store = session.getStore("imap");
store.connect(host, username, password);
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
Message[] messages = inbox.getMessages();
messages = Arrays.stream(messages).sorted(
(a,b)-> {
try {
return b.getSentDate().compareTo(a.getSentDate());
} catch (MessagingException e) {
return 0;
}
}
).collect(Collectors.toList()).toArray(new Message[]{});
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime endDate = LocalDateTime.parse("2023-04-19 02:10:40", formatter);
for (Message message : messages) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(message.getSentDate().toInstant(), ZoneId.systemDefault());
String dateStr = localDateTime.format(formatter);
if(localDateTime.isAfter(endDate) && message.getSubject().contains("批次文件")) {
System.out.println(message.getSubject() + "\t" + dateStr);
if (message.getSubject().contains("密钥")) {
MimeMultipart multipart = (MimeMultipart)message.getContent();
IMAPBodyPart body = (IMAPBodyPart)multipart.getBodyPart(0);
BodyPart bodyPart = ((MimeMultipart) body.getContent()).getBodyPart(0);
System.out.println("格式:" + bodyPart.getContentType());
Object content = bodyPart.getContent();
String str = Objects.toString(content);
str = StringUtils.substringAfter(str, "密钥为:");
str = StringUtils.substringBefore(str, "</p>");
System.out.println(str);
IOUtils.write(str, new FileOutputStream("/Users/grant/Downloads/pwd.txt"));
} else {
BodyPart bodyPart = ((MimeMultipart) message.getContent()).getBodyPart(1);
String fileName = StringUtils.substringAfter(bodyPart.getContentType(), "name=");
System.out.println(fileName);
IOUtils.copy(bodyPart.getInputStream(), new FileOutputStream(
"/Users/grant/Downloads/" + fileName
));
}
}
}
inbox.close(false);
store.close();
依赖
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.5</version> <scope>test</scope> </dependency>