|
@@ -90,6 +90,9 @@ public class EmailParseService {
|
|
@Value("${email.report.ocr-parser-url}")
|
|
@Value("${email.report.ocr-parser-url}")
|
|
private String ocrParserUrl;
|
|
private String ocrParserUrl;
|
|
|
|
|
|
|
|
+ @Value("${email.read-write-seen:true}")
|
|
|
|
+ private boolean readWriteSeen;
|
|
|
|
+
|
|
public EmailParseService(EmailParseInfoMapper emailParseInfoMapper,
|
|
public EmailParseService(EmailParseInfoMapper emailParseInfoMapper,
|
|
EmailFileInfoMapper emailFileInfoMapper,
|
|
EmailFileInfoMapper emailFileInfoMapper,
|
|
ReportParserFactory reportParserFactory,
|
|
ReportParserFactory reportParserFactory,
|
|
@@ -699,7 +702,7 @@ public class EmailParseService {
|
|
Store store, String folderName) throws MessagingException {
|
|
Store store, String folderName) throws MessagingException {
|
|
// 默认读取收件箱的邮件
|
|
// 默认读取收件箱的邮件
|
|
Folder folder = store.getFolder(folderName);
|
|
Folder folder = store.getFolder(folderName);
|
|
- folder.open(Folder.READ_WRITE);
|
|
|
|
|
|
+ folder.open(this.readWriteSeen ? Folder.READ_WRITE : Folder.READ_ONLY);
|
|
Message[] messages = getEmailMessage(folder, mailboxInfoDTO.getProtocol(), startDate);
|
|
Message[] messages = getEmailMessage(folder, mailboxInfoDTO.getProtocol(), startDate);
|
|
if (messages == null || messages.length == 0) {
|
|
if (messages == null || messages.length == 0) {
|
|
log.warn("{} 获取不到邮件 -> 邮箱信息:{},开始时间:{},结束时间:{}", folderName, mailboxInfoDTO, startDate, endDate);
|
|
log.warn("{} 获取不到邮件 -> 邮箱信息:{},开始时间:{},结束时间:{}", folderName, mailboxInfoDTO, startDate, endDate);
|
|
@@ -713,7 +716,7 @@ public class EmailParseService {
|
|
Integer emailType;
|
|
Integer emailType;
|
|
String senderEmail;
|
|
String senderEmail;
|
|
String emailTitle = message.getSubject();
|
|
String emailTitle = message.getSubject();
|
|
- if (isMessageRead(message)) {
|
|
|
|
|
|
+ if (this.readWriteSeen && isMessageRead(message)) {
|
|
log.warn("{} 邮件{} 已读,不用重新下载解析!", folderName, emailTitle);
|
|
log.warn("{} 邮件{} 已读,不用重新下载解析!", folderName, emailTitle);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -767,8 +770,10 @@ public class EmailParseService {
|
|
log.error("{} 获取邮箱的邮件{} 报错,堆栈信息:{}", folderName, emailTitle, ExceptionUtil.stacktraceToString(e));
|
|
log.error("{} 获取邮箱的邮件{} 报错,堆栈信息:{}", folderName, emailTitle, ExceptionUtil.stacktraceToString(e));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- // 设置已读标志
|
|
|
|
- folder.setFlags(messages, new Flags(Flags.Flag.SEEN), true);
|
|
|
|
|
|
+ if (this.readWriteSeen) {
|
|
|
|
+ // 设置已读标志
|
|
|
|
+ folder.setFlags(messages, new Flags(Flags.Flag.SEEN), true);
|
|
|
|
+ }
|
|
folder.close(false);
|
|
folder.close(false);
|
|
return emailMessageMap;
|
|
return emailMessageMap;
|
|
}
|
|
}
|