修改解析邮件时获取邮件接收日期或者是发件日期

This commit is contained in:
duwenyuan 2025-06-30 10:51:11 +08:00
parent 0c5127a3ab
commit a25e7e91ac

View File

@ -24,6 +24,7 @@ import javax.mail.internet.MimeMessage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.Date;
import java.util.Objects;
import java.util.concurrent.CountDownLatch;
@ -92,8 +93,10 @@ public class SpectrumParsingActuator implements Runnable{
subject = emailServiceManager.getMailSubject(message, this.batchesCounter);
//解析之前先把邮件唯一信息存储到redis
String messageId = ((MimeMessage) message).getMessageID();
receiveDate = DateUtils.formatDate(message.getReceivedDate(),"yyyy-MM-dd HH:mm:ss");
String msgID = ((MimeMessage) message).getMessageID();
String messageId = msgID == null ? emailServiceManager.getMessagesID(message,this.batchesCounter) : msgID;
Date dateUtils = message.getReceivedDate() == null ? message.getSentDate() : message.getReceivedDate();
receiveDate = DateUtils.formatDate(dateUtils, "yyyy-MM-dd HH:mm:ss");
String emlName = subject + StringConstant.UNDER_LINE + receiveDate;
String key = RedisConstant.EMAIL_MSG_ID + StringConstant.COLON + messageId;
// spectrumServiceQuotes.getRedisUtil().set(key,emlName,expiryTime);
@ -184,6 +187,7 @@ public class SpectrumParsingActuator implements Runnable{
* 这些类型的邮件在头部中会指定相应的内容类型和协议信息
* 3.简单纯文本邮件另一方面简单的纯文本邮件没有特殊的附件或内容类型要求因此可能不需要使用 MIME 格式
* 这种情况下邮件文本中可能不包含 Mime-Version: 1.0 Content-Type: multipart/signed;
*
* @param mailContent
* @return
*/