无关风月
2025-04-10 099ea14bba367fd86f0dde37d908f07cc04c3d39
ruoyi-common/src/main/java/com/ruoyi/common/utils/TencentMailUtil.java
@@ -14,13 +14,11 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.*;
import java.util.concurrent.CompletableFuture;
@Component
@@ -146,16 +144,17 @@
                messageBodyPart = new MimeBodyPart();
                String filePath = map.get("filePath");
                String fileName = map.get("fileName");
                tempFilePath.add(Paths.get(filePath));
                FileDataSource source = new FileDataSource(filePath);
                Path path = Paths.get(filePath, fileName);
                tempFilePath.add(path);
                FileDataSource source = new FileDataSource(path.toString());
                messageBodyPart.setDataHandler(new DataHandler(source));
                String filenameEncode = MimeUtility.encodeText(fileName, "UTF-8", "base64");
                // String filenameEncode = MimeUtility.encodeText(fileName, "UTF-8", "base64");
                // String encodedFileName = Base64.getEncoder().encodeToString(fileName.getBytes(StandardCharsets.UTF_8));
                // String filenameEncode = MimeUtility.encodeText(encodedFileName);
                messageBodyPart.setFileName(filenameEncode);
                messageBodyPart.setFileName(fileName);
                messageBodyPart.setHeader("Content-Transfer-Encoding", "base64");
                messageBodyPart.setHeader("Content-Disposition", "attachment");
                messageBodyPart.setHeader("Content-Type", "application/octet-stream;name=\"" + filenameEncode + "\"");
                messageBodyPart.setHeader("Content-Type", "application/octet-stream;name=\"" + fileName + "\"");
                multipart.addBodyPart(messageBodyPart);
            }
            // 设置邮件内容