//添加附件内容
if(mailInfo.getFilePath() != null && !"".equals(mailInfo.getFilePath())) {
File basePath = new File(mailInfo.getFilePath());
if(basePath.isDirectory()) {
List<String> allFile = getAllFile(basePath.getAbsolutePath(), false);
for (String file : allFile) {
addFile(file, multipart);
}
}else {
addFile(basePath.getAbsolutePath(), multipart);
}
}
/**
* 获取路径下的所有文件/文件夹
* @param directoryPath 需要遍历的文件夹路径
* @param isAddDirectory 是否将子文件夹的路径也添加到list集合中
* @return
*/
public static List<String> getAllFile(String directoryPath,boolean isAddDirectory) {
List<String> list = new ArrayList<String>();
File baseFile = new File(directoryPath);
if (baseFile.isFile() || !baseFile.exists()) {
return list;
}
File[] files = baseFile.listFiles();
for (File file : files) {
记录JAVAMail发送附件的坑
最新推荐文章于 2023-07-03 16:39:05 发布
在使用JavaMail发送附件时,需要注意BodyPart对象的创建位置,必须在循环内新建以避免附件被覆盖。同时,邮件不支持直接发送文件夹,会抛出fileNotFound错误。
摘要由CSDN通过智能技术生成