From c6a9fc0a8f235554eb571884b6529375afa46388 Mon Sep 17 00:00:00 2001 From: "zhenghaiyang@ele-cloud.com" Date: Sat, 15 Apr 2023 14:58:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=AE=E7=AE=B1=E9=87=87=E9=9B=86-=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=A7=A3=E6=9E=90=E6=96=87=E4=BB=B6=E5=90=8D=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dxhy/core/task/SnEmailGatherTaskTest.java | 11 ++++++----- .../main/java/com/dxhy/core/util/EmailParseUtils.java | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/dxhy-core/src/main/java/com/dxhy/core/task/SnEmailGatherTaskTest.java b/dxhy-core/src/main/java/com/dxhy/core/task/SnEmailGatherTaskTest.java index 20c937e1..3c5b6fdb 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/task/SnEmailGatherTaskTest.java +++ b/dxhy-core/src/main/java/com/dxhy/core/task/SnEmailGatherTaskTest.java @@ -37,8 +37,8 @@ class SnEmailGatherTaskTest { String port = "110"; //邮件接收服务器地址 String mail_host = "mail.pop3.host"; - String emailName = "1149953701@qq.com"; - String password = "pmdzleyabmlzgdhc"; + String emailName = "745139984@qq.com"; + String password = "ncmydeiilzyabfgb"; // String emailName = "15201210373@163.com"; // String password = "JKZATQTPHDDQTQSH"; String mailSuffix = emailName.split("@")[1]; @@ -62,7 +62,7 @@ class SnEmailGatherTaskTest { store.connect(emailName, password); //连接邮箱服务器 //获取当前时间 - Date currentTime = new Date(); +// Date currentTime = new Date(); // 品 ping获得收件箱 pop3协议只有一个有效的文件夹就是INBOX Folder folder = store.getFolder("INBOX"); //获取邮件列表 @@ -87,13 +87,14 @@ class SnEmailGatherTaskTest { System.out.println("------------------解析第" + msg.getMessageNumber() + "封邮件-------------------- "); System.out.println("主题: " + EmailParseUtils.getSubject(msg)); System.out.println("发件人: " + EmailParseUtils.getFrom(msg)); - System.out.println("收件人:" + EmailParseUtils.getReceiveAddress(msg, null)); +// System.out.println("收件人:" + EmailParseUtils.getReceiveAddress(msg, null)); System.out.println("发送时间:" + EmailParseUtils.getSentDate(msg, null)); System.out.println("是否已读:" + EmailParseUtils.isSeen(msg)); System.out.println("邮件优先级:" + EmailParseUtils.getPriority(msg)); System.out.println("是否需要回执:" + EmailParseUtils.isReplySign(msg)); System.out.println("邮件大小:" + msg.getSize() * 1024 + "kb"); boolean isContainerAttachment = EmailParseUtils.isContainAttachment(msg); + System.out.println("是否有附件: "+isContainerAttachment); if(isContainerAttachment) { List> mapList = Lists.newArrayList(); EmailParseUtils.saveAttachment(msg, mapList); @@ -141,7 +142,7 @@ class SnEmailGatherTaskTest { System.out.println(""); } System.out.println(""); - Date endTime = new Date(); +// Date endTime = new Date(); //计算耗时时间 // double elapsedTime = CalendarUtil.arithDateTime(endTime, currentTime); // 释放资源 diff --git a/dxhy-core/src/main/java/com/dxhy/core/util/EmailParseUtils.java b/dxhy-core/src/main/java/com/dxhy/core/util/EmailParseUtils.java index 8ae7d7c2..b53732c8 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/util/EmailParseUtils.java +++ b/dxhy-core/src/main/java/com/dxhy/core/util/EmailParseUtils.java @@ -267,19 +267,20 @@ public class EmailParseUtils { //某一个邮件体也有可能是由多个邮件体组成的复杂体 String disp = bodyPart.getDisposition(); if (disp != null && (disp.equalsIgnoreCase(Part.ATTACHMENT) || disp.equalsIgnoreCase(Part.INLINE))) { - if ((StringUtils.isNotBlank(contentType)) && - (contentType.toUpperCase().contains("PDF") || contentType.toUpperCase().contains("OFD"))){ + if ((StringUtils.isNotBlank(contentType)) && (contentType.toUpperCase().contains("PDF") || contentType.toUpperCase().contains("OFD"))){ InputStream is = bodyPart.getInputStream(); byte[] pdfStream = IOUtils.toByteArray(is); - mapLog.put("contentType", contentType.toUpperCase().contains("PDF")?"PDF":"OFD"); + String pdf = contentType.toUpperCase().contains("PDF") ? "PDF" : "OFD"; + mapLog.put("contentType", pdf); if(pdfStream != null){ mapLog.put("pdfStream", Base64Encoding.encodeToString(pdfStream)); mapList.add(mapLog); } - }else if (StringUtils.isNotBlank(fileName) && "application/octet-stream".equals(contentType) && (fileName.endsWith("pdf") || fileName.endsWith("ofd"))){ + }else if (StringUtils.isNotBlank(fileName) && (fileName.toUpperCase().contains("PDF") || fileName.toUpperCase().contains("OFD"))){ InputStream is = bodyPart.getInputStream(); byte[] pdfStream = IOUtils.toByteArray(is); - mapLog.put("contentType", contentType.toUpperCase().contains("PDF")?"PDF":"OFD"); + String pdf = fileName.toUpperCase().contains("PDF") ? "PDF" : "OFD"; + mapLog.put("contentType", pdf); if(pdfStream != null){ mapLog.put("pdfStream", Base64Encoding.encodeToString(pdfStream)); mapList.add(mapLog);