diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java index f7df72d..5bd4b8d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java @@ -218,7 +218,7 @@ public class MailUtil { * @param attachmentByte * @throws MessagingException */ - public void addAttachment(String fileName, byte[] attachmentByte) throws MessagingException { + public void addAttachment(String fileName, byte[] attachmentByte) throws MessagingException, UnsupportedEncodingException { addAttachment(fileName, attachmentByte, FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName, true))); } @@ -231,11 +231,12 @@ public class MailUtil { * @param contentType * @throws MessagingException */ - public void addAttachment(String fileName, byte[] attachmentByte, String contentType) throws MessagingException { + public void addAttachment(String fileName, byte[] attachmentByte, String contentType) throws MessagingException, UnsupportedEncodingException { BodyPart attachmentBodyPart = new MimeBodyPart(); DataSource source = new ByteArrayDataSource(attachmentByte, contentType); attachmentBodyPart.setDataHandler(new DataHandler(source)); - attachmentBodyPart.setFileName(fileName); + String name = MimeUtility.encodeText(fileName); + attachmentBodyPart.setFileName(name); attachmentList.add(attachmentBodyPart); }