|
@@ -2,8 +2,9 @@ package com.fjhx.email.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.fjhx.email.config.base.BaseEntity;
|
|
|
import com.fjhx.email.config.exception.ServiceException;
|
|
@@ -14,7 +15,9 @@ import com.fjhx.email.entity.dto.MailboxInfo;
|
|
|
import com.fjhx.email.entity.dto.SetSeenDto;
|
|
|
import com.fjhx.email.entity.vo.MessageDetailVo;
|
|
|
import com.fjhx.email.entity.vo.MessageVo;
|
|
|
+import com.fjhx.email.mapper.EnterpriseMessageMapper;
|
|
|
import com.fjhx.email.mapper.MailMapper;
|
|
|
+import com.fjhx.email.mapper.PersonalMessageMapper;
|
|
|
import com.fjhx.email.service.*;
|
|
|
import com.fjhx.email.utils.ObsFileUtil;
|
|
|
import com.fjhx.email.utils.PageWrapper;
|
|
@@ -35,11 +38,9 @@ import org.springframework.transaction.TransactionStatus;
|
|
|
import javax.mail.*;
|
|
|
import java.io.IOException;
|
|
|
import java.io.InputStream;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
import java.util.concurrent.*;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
@@ -90,6 +91,10 @@ public class MailServiceImpl implements IMailService {
|
|
|
private IPersonalFolderService personalFolderService;
|
|
|
@Autowired
|
|
|
private IEnterpriseFolderService enterpriseFolderService;
|
|
|
+ @Autowired
|
|
|
+ private EnterpriseMessageMapper enterpriseMessageMapper;
|
|
|
+ @Autowired
|
|
|
+ private PersonalMessageMapper personalMessageMapper;
|
|
|
|
|
|
@Override
|
|
|
public List<MailboxInfo> getMailboxInfoListByUserId(List<Long> userIdList, Integer mailType) {
|
|
@@ -104,15 +109,25 @@ public class MailServiceImpl implements IMailService {
|
|
|
public PageWrapper<MessageVo> getMessagePage(GetMessagePageDto dto) {
|
|
|
|
|
|
PageWrapper<MessageVo> pageWrapper;
|
|
|
- IMAPStore imapStore;
|
|
|
- IMAPFolder folder;
|
|
|
+// IMAPStore imapStore;
|
|
|
+// IMAPFolder folder;
|
|
|
|
|
|
// 个人邮箱
|
|
|
if (dto.getType().equals(1)) {
|
|
|
- Page<PersonalMessage> page = personalMessageService.page(dto, q -> q
|
|
|
- .eq(PersonalMessage::getFolderId, dto.getFolderId())
|
|
|
- .orderByDesc(PersonalMessage::getSendDate)
|
|
|
+ QueryWrapper<PersonalMessage> wrapper = Wrappers.query();
|
|
|
+ wrapper.eq("pm.folder_id", dto.getFolderId());
|
|
|
+ wrapper.and(ObjectUtil.isNotEmpty(dto.getKeyword()), q1 -> q1
|
|
|
+ .like("pm.from_email", dto.getKeyword())
|
|
|
+ .or().like("pm.from_personal_name", dto.getKeyword())
|
|
|
+ .or().like("pm.subject", dto.getKeyword())
|
|
|
+ .or().like("pmc.content", dto.getKeyword())
|
|
|
);
|
|
|
+ wrapper.orderByDesc("pm.send_date");
|
|
|
+ Page<PersonalMessage> page = personalMessageMapper.getPage(dto.getPage(), wrapper);
|
|
|
+// Page<PersonalMessage> page = personalMessageService.page(dto, q -> q
|
|
|
+// .eq(PersonalMessage::getFolderId, dto.getFolderId())
|
|
|
+// .orderByDesc(PersonalMessage::getSendDate)
|
|
|
+// );
|
|
|
|
|
|
pageWrapper = new PageWrapper<>(page, MessageVo.class);
|
|
|
|
|
@@ -125,21 +140,31 @@ public class MailServiceImpl implements IMailService {
|
|
|
throw new ServiceException("文件夹已被删除");
|
|
|
}
|
|
|
|
|
|
- MailboxInfo mailboxInfo = getMailboxInfo(1, personalFolder.getMailboxId());
|
|
|
- imapStore = ImapUtil.getStore(
|
|
|
- mailboxInfo.getReceiveHost(),
|
|
|
- mailboxInfo.getMailUser(),
|
|
|
- mailboxInfo.getMailPassword()
|
|
|
- );
|
|
|
- folder = (IMAPFolder) imapStore.getFolder(personalFolder.getName());
|
|
|
+// MailboxInfo mailboxInfo = getMailboxInfo(1, personalFolder.getMailboxId());
|
|
|
+// imapStore = ImapUtil.getStore(
|
|
|
+// mailboxInfo.getReceiveHost(),
|
|
|
+// mailboxInfo.getMailUser(),
|
|
|
+// mailboxInfo.getMailPassword()
|
|
|
+// );
|
|
|
+// folder = (IMAPFolder) imapStore.getFolder(personalFolder.getName());
|
|
|
}
|
|
|
|
|
|
// 企业邮箱
|
|
|
else {
|
|
|
- Page<EnterpriseMessage> page = enterpriseMessageService.page(dto, q -> q
|
|
|
- .eq(EnterpriseMessage::getFolderId, dto.getFolderId())
|
|
|
- .orderByDesc(EnterpriseMessage::getSendDate)
|
|
|
+ QueryWrapper<EnterpriseMessage> wrapper = Wrappers.query();
|
|
|
+ wrapper.eq("em.folder_id", dto.getFolderId());
|
|
|
+ wrapper.and(ObjectUtil.isNotEmpty(dto.getKeyword()), q1 -> q1
|
|
|
+ .like("em.from_email", dto.getKeyword())
|
|
|
+ .or().like("em.from_personal_name", dto.getKeyword())
|
|
|
+ .or().like("em.subject", dto.getKeyword())
|
|
|
+ .or().like("emc.content", dto.getKeyword())
|
|
|
);
|
|
|
+ wrapper.orderByDesc("em.send_date");
|
|
|
+ Page<EnterpriseMessage> page = enterpriseMessageMapper.getPage(dto.getPage(), wrapper);
|
|
|
+// Page<EnterpriseMessage> page = enterpriseMessageService.page(dto, q -> q
|
|
|
+// .eq(EnterpriseMessage::getFolderId, dto.getFolderId())
|
|
|
+// .orderByDesc(EnterpriseMessage::getSendDate)
|
|
|
+// );
|
|
|
|
|
|
pageWrapper = new PageWrapper<>(page, MessageVo.class);
|
|
|
|
|
@@ -152,38 +177,38 @@ public class MailServiceImpl implements IMailService {
|
|
|
throw new ServiceException("文件夹已被删除");
|
|
|
}
|
|
|
|
|
|
- MailboxInfo mailboxInfo = getMailboxInfo(2, enterpriseFolder.getMailboxId());
|
|
|
- imapStore = ImapUtil.getStore(
|
|
|
- mailboxInfo.getReceiveHost(),
|
|
|
- mailboxInfo.getMailUser(),
|
|
|
- mailboxInfo.getMailPassword()
|
|
|
- );
|
|
|
- folder = (IMAPFolder) imapStore.getFolder(enterpriseFolder.getName());
|
|
|
+// MailboxInfo mailboxInfo = getMailboxInfo(2, enterpriseFolder.getMailboxId());
|
|
|
+// imapStore = ImapUtil.getStore(
|
|
|
+// mailboxInfo.getReceiveHost(),
|
|
|
+// mailboxInfo.getMailUser(),
|
|
|
+// mailboxInfo.getMailPassword()
|
|
|
+// );
|
|
|
+// folder = (IMAPFolder) imapStore.getFolder(enterpriseFolder.getName());
|
|
|
}
|
|
|
|
|
|
- folder.open(Folder.READ_ONLY);
|
|
|
-
|
|
|
- ArrayList<CompletableFuture<Void>> futureList = new ArrayList<>();
|
|
|
- for (MessageVo messageVo : pageWrapper.getRows()) {
|
|
|
- CompletableFuture<Void> completableFuture = CompletableFuture.runAsync(() -> {
|
|
|
- Long uid = messageVo.getUid();
|
|
|
- try {
|
|
|
- Message message = folder.getMessageByUID(uid);
|
|
|
- if (message != null) {
|
|
|
- String flags = ImapUtil.getFlags(message.getFlags());
|
|
|
- messageVo.setFlags(flags);
|
|
|
- }
|
|
|
- } catch (MessagingException e) {
|
|
|
- throw new ServiceException("获取邮件是否已读失败");
|
|
|
- }
|
|
|
- }, executor);
|
|
|
- futureList.add(completableFuture);
|
|
|
- }
|
|
|
-
|
|
|
- futureList.forEach(CompletableFuture::join);
|
|
|
-
|
|
|
- ImapUtil.closeFolder(folder);
|
|
|
- ImapUtil.closeStore(imapStore);
|
|
|
+// folder.open(Folder.READ_ONLY);
|
|
|
+
|
|
|
+// ArrayList<CompletableFuture<Void>> futureList = new ArrayList<>();
|
|
|
+// for (MessageVo messageVo : pageWrapper.getRows()) {
|
|
|
+// CompletableFuture<Void> completableFuture = CompletableFuture.runAsync(() -> {
|
|
|
+// Long uid = messageVo.getUid();
|
|
|
+// try {
|
|
|
+// Message message = folder.getMessageByUID(uid);
|
|
|
+// if (message != null) {
|
|
|
+// String flags = ImapUtil.getFlags(message.getFlags());
|
|
|
+// messageVo.setFlags(flags);
|
|
|
+// }
|
|
|
+// } catch (MessagingException e) {
|
|
|
+// throw new ServiceException("获取邮件是否已读失败");
|
|
|
+// }
|
|
|
+// }, executor);
|
|
|
+// futureList.add(completableFuture);
|
|
|
+// }
|
|
|
+//
|
|
|
+// futureList.forEach(CompletableFuture::join);
|
|
|
+//
|
|
|
+// ImapUtil.closeFolder(folder);
|
|
|
+// ImapUtil.closeStore(imapStore);
|
|
|
|
|
|
return pageWrapper;
|
|
|
}
|
|
@@ -199,12 +224,17 @@ public class MailServiceImpl implements IMailService {
|
|
|
String folderName;
|
|
|
Long uid;
|
|
|
|
|
|
+ //发件人地址
|
|
|
+ String fromEmail;
|
|
|
+
|
|
|
if (type.equals(1)) {
|
|
|
PersonalMessage personalMessage = personalMessageService.getById(messageId);
|
|
|
if (personalMessage == null) {
|
|
|
throw new ServiceException("没有找到邮箱");
|
|
|
}
|
|
|
|
|
|
+ fromEmail = personalMessage.getFromEmail();
|
|
|
+
|
|
|
mailboxId = personalMessage.getMailboxId();
|
|
|
syncStatus = personalMessage.getSyncStatus();
|
|
|
folderName = personalMessage.getFolderName();
|
|
@@ -215,14 +245,65 @@ public class MailServiceImpl implements IMailService {
|
|
|
throw new ServiceException("没有找到邮箱");
|
|
|
}
|
|
|
|
|
|
+ fromEmail = enterpriseMessage.getFromEmail();
|
|
|
+
|
|
|
mailboxId = enterpriseMessage.getMailboxId();
|
|
|
syncStatus = enterpriseMessage.getSyncStatus();
|
|
|
folderName = enterpriseMessage.getFolderName();
|
|
|
uid = enterpriseMessage.getUid();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ //设置已读
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ MailboxInfo mailboxInfo = getMailboxInfo(type, mailboxId);
|
|
|
+ IMAPStore store = null;
|
|
|
+ IMAPFolder folder = null;
|
|
|
+ try {
|
|
|
+ store = ImapUtil.getStore(
|
|
|
+ mailboxInfo.getReceiveHost(),
|
|
|
+ mailboxInfo.getMailUser(),
|
|
|
+ mailboxInfo.getMailPassword()
|
|
|
+ );
|
|
|
+ folder = (IMAPFolder) store.getFolder(folderName);
|
|
|
+ folder.open(Folder.READ_WRITE);
|
|
|
+ IMAPMessage message = (IMAPMessage) folder.getMessageByUID(uid);
|
|
|
+
|
|
|
+ if (message == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 设置已读
|
|
|
+ ImapUtil.setSeen(message);
|
|
|
+ String flags = ImapUtil.getFlags(message.getFlags());
|
|
|
+ if (type.equals(1)) {
|
|
|
+ PersonalMessage personalMessage = personalMessageService.getById(messageId);
|
|
|
+ if (personalMessage != null) {
|
|
|
+ personalMessage.setFlags(flags);
|
|
|
+ personalMessageService.updateById(personalMessage);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ EnterpriseMessage enterpriseMessage = enterpriseMessageService.getById(messageId);
|
|
|
+ if (enterpriseMessage != null) {
|
|
|
+ enterpriseMessage.setFlags(flags);
|
|
|
+ enterpriseMessageService.updateById(enterpriseMessage);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("修改已读异常" + e.getMessage());
|
|
|
+ } finally {
|
|
|
+ try {
|
|
|
+ ImapUtil.closeFolder(folder);
|
|
|
+ ImapUtil.closeStore(store);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("关闭链接失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
MessageDetailVo messageDetailVo = new MessageDetailVo();
|
|
|
messageDetailVo.setMessageId(messageId);
|
|
|
+ messageDetailVo.setFromEmail(fromEmail);
|
|
|
|
|
|
// 已同步
|
|
|
if (syncStatus.equals(1)) {
|
|
@@ -319,27 +400,69 @@ public class MailServiceImpl implements IMailService {
|
|
|
@Override
|
|
|
public void setUnreadMessageCount(List<MailboxInfo> mailboxInfoList) {
|
|
|
|
|
|
- for (MailboxInfo mailboxInfo : mailboxInfoList) {
|
|
|
+ List<Long> mailboxInfoIds = mailboxInfoList.stream().map(MailboxInfo::getId).collect(Collectors.toList());
|
|
|
+ List<MessageVo> unreadMessageCount = mailMapper.getUnreadMessageCount(Wrappers.query()
|
|
|
+ .in("m.mailbox_id", mailboxInfoIds)
|
|
|
+ );
|
|
|
+ Map<Long, MessageVo> unreadMessageCountMap = unreadMessageCount.stream().collect(Collectors.toMap(MessageVo::getFolderId, Function.identity()));
|
|
|
|
|
|
- IMAPStore store = ImapUtil.getStore(
|
|
|
- mailboxInfo.getReceiveHost(),
|
|
|
- mailboxInfo.getMailUser(),
|
|
|
- mailboxInfo.getMailPassword()
|
|
|
- );
|
|
|
+
|
|
|
+ for (MailboxInfo mailboxInfo : mailboxInfoList) {
|
|
|
|
|
|
for (MailFolderInfo mailFolderInfo : mailboxInfo.getMailFolderInfoList()) {
|
|
|
- String name = mailFolderInfo.getName();
|
|
|
- if (StrUtil.equalsAnyIgnoreCase(name, "inbox")) {
|
|
|
- IMAPFolder folder = (IMAPFolder) store.getFolder(name);
|
|
|
- folder.open(Folder.READ_WRITE);
|
|
|
- int unreadMessageCount = folder.getUnreadMessageCount();
|
|
|
- mailFolderInfo.setUnreadMessageCount(unreadMessageCount);
|
|
|
- ImapUtil.closeFolder(folder);
|
|
|
- break;
|
|
|
- }
|
|
|
+ MessageVo messageVo = unreadMessageCountMap.get(mailFolderInfo.getId());
|
|
|
+ int count = ObjectUtil.isEmpty(messageVo) ? 0 : messageVo.getCount();
|
|
|
+ mailFolderInfo.setUnreadMessageCount(count);
|
|
|
}
|
|
|
|
|
|
- ImapUtil.closeStore(store);
|
|
|
+// IMAPStore store = ImapUtil.getStore(
|
|
|
+// mailboxInfo.getReceiveHost(),
|
|
|
+// mailboxInfo.getMailUser(),
|
|
|
+// mailboxInfo.getMailPassword()
|
|
|
+// );
|
|
|
+//
|
|
|
+// for (MailFolderInfo mailFolderInfo : mailboxInfo.getMailFolderInfoList()) {
|
|
|
+// String name = mailFolderInfo.getName();
|
|
|
+// if (StrUtil.equalsAnyIgnoreCase(name, "inbox")) {
|
|
|
+// IMAPFolder folder = (IMAPFolder) store.getFolder(name);
|
|
|
+// folder.open(Folder.READ_WRITE);
|
|
|
+// int unreadMessageCount = folder.getUnreadMessageCount();
|
|
|
+// mailFolderInfo.setUnreadMessageCount(unreadMessageCount);
|
|
|
+// ImapUtil.closeFolder(folder);
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// ImapUtil.closeStore(store);
|
|
|
+
|
|
|
+// if (Objects.equals(mailboxInfo.getType(), 1)) {
|
|
|
+// //个人邮箱
|
|
|
+// Map<Long, List<PersonalMessage>> personalMessageMap = personalMessageService.mapKGroup(PersonalMessage::getFolderId, q -> q
|
|
|
+// .eq(PersonalMessage::getMailboxId, mailboxInfo.getId())
|
|
|
+// .and(q1 -> q1
|
|
|
+// .isNull(PersonalMessage::getFlags)
|
|
|
+// .or().eq(PersonalMessage::getFlags, "")
|
|
|
+// )
|
|
|
+// );
|
|
|
+// MessageVo messageVo = unreadMessageCountMap.get(mailboxInfo.getId());
|
|
|
+// for (MailFolderInfo mailFolderInfo : mailboxInfo.getMailFolderInfoList()) {
|
|
|
+// List<PersonalMessage> personalMessages = personalMessageMap.getOrDefault(mailFolderInfo.getId(), new ArrayList<>());
|
|
|
+// mailFolderInfo.setUnreadMessageCount(personalMessages.size());
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// //企业邮箱
|
|
|
+// Map<Long, List<EnterpriseMessage>> enterpriseMessageMap = enterpriseMessageService.mapKGroup(EnterpriseMessage::getFolderId, q -> q
|
|
|
+// .eq(EnterpriseMessage::getMailboxId, mailboxInfo.getId())
|
|
|
+// .and(q1 -> q1
|
|
|
+// .isNull(EnterpriseMessage::getFlags)
|
|
|
+// .or().eq(EnterpriseMessage::getFlags, "")
|
|
|
+// )
|
|
|
+// );
|
|
|
+// for (MailFolderInfo mailFolderInfo : mailboxInfo.getMailFolderInfoList()) {
|
|
|
+// List<EnterpriseMessage> personalMessages = enterpriseMessageMap.getOrDefault(mailFolderInfo.getId(), new ArrayList<>());
|
|
|
+// mailFolderInfo.setUnreadMessageCount(personalMessages.size());
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -359,10 +482,83 @@ public class MailServiceImpl implements IMailService {
|
|
|
|
|
|
Message[] messages = folder.getMessagesByUID(uids);
|
|
|
|
|
|
- Flags flags = new Flags();
|
|
|
- flags.add(Flags.Flag.SEEN);
|
|
|
+ for (Message message : messages) {
|
|
|
+ Flags flags = message.getFlags();
|
|
|
+ flags.add(Flags.Flag.SEEN);
|
|
|
+ message.setFlags(flags, true);
|
|
|
+
|
|
|
+ long uid = folder.getUID(message);
|
|
|
+ if (dto.getType() == 1) {
|
|
|
+ //个人邮箱
|
|
|
+ personalMessageService.update(q -> q
|
|
|
+ .eq(PersonalMessage::getUid, uid)
|
|
|
+ .set(PersonalMessage::getFlags, ImapUtil.getFlags(flags))
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ //企业邮箱
|
|
|
+ enterpriseMessageService.update(q -> q
|
|
|
+ .eq(EnterpriseMessage::getUid, uid)
|
|
|
+ .set(EnterpriseMessage::getFlags, ImapUtil.getFlags(flags))
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+// Flags flags = new Flags();
|
|
|
+// flags.add(Flags.Flag.SEEN);
|
|
|
+//
|
|
|
+// folder.setFlags(messages, flags, true);
|
|
|
+//
|
|
|
+// if(dto.getType()==1){
|
|
|
+// //个人邮箱
|
|
|
+// personalMessageService.update(q->q
|
|
|
+// .in(PersonalMessage::getUid,uids)
|
|
|
+// .set(PersonalMessage::getFlags, ImapUtil.getFlags(flags))
|
|
|
+// );
|
|
|
+// }else{
|
|
|
+// //企业邮箱
|
|
|
+// enterpriseMessageService.update(q->q
|
|
|
+// .in(EnterpriseMessage::getUid,uids)
|
|
|
+// .set(EnterpriseMessage::getFlags, ImapUtil.getFlags(flags))
|
|
|
+// );
|
|
|
+// }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void cancelSeen(String host, String user, String password, SetSeenDto dto) throws MessagingException {
|
|
|
+ IMAPStore store = ImapUtil.getStore(host, user, password);
|
|
|
+ IMAPFolder folder = (IMAPFolder) store.getFolder(dto.getFolderName());
|
|
|
+ folder.open(Folder.READ_WRITE);
|
|
|
+
|
|
|
+ List<Long> uidList = dto.getUidList();
|
|
|
+
|
|
|
+ long[] uids = new long[uidList.size()];
|
|
|
+ for (int i = 0; i < uidList.size(); i++) {
|
|
|
+ uids[i] = uidList.get(i);
|
|
|
+ }
|
|
|
+
|
|
|
+ Message[] messages = folder.getMessagesByUID(uids);
|
|
|
+
|
|
|
+ for (Message message : messages) {
|
|
|
+ Flags flags = message.getFlags();
|
|
|
+ flags.remove(Flags.Flag.SEEN);
|
|
|
+ message.setFlags(flags, true);
|
|
|
|
|
|
- folder.setFlags(messages, flags, true);
|
|
|
+ long uid = folder.getUID(message);
|
|
|
+ if (dto.getType() == 1) {
|
|
|
+ //个人邮箱
|
|
|
+ personalMessageService.update(q -> q
|
|
|
+ .eq(PersonalMessage::getUid, uid)
|
|
|
+ .set(PersonalMessage::getFlags, ImapUtil.getFlags(flags))
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ //企业邮箱
|
|
|
+ enterpriseMessageService.update(q -> q
|
|
|
+ .eq(EnterpriseMessage::getUid, uid)
|
|
|
+ .set(EnterpriseMessage::getFlags, ImapUtil.getFlags(flags))
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -574,7 +770,7 @@ public class MailServiceImpl implements IMailService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void unknown(Part part) throws MessagingException, IOException {
|
|
|
+ public void unknown(Part part) throws MessagingException {
|
|
|
log.error("id为 {} 的邮件存在未知类型:{}", vo.getMessageId(), part.getContentType());
|
|
|
}
|
|
|
|