我在目录“bar”中有 2 个文件用于测试。从下面的代码中,假设将该目录中的所有文件作为电子邮件附件发送。问题是,当我发送它们时,我的电子邮件中会出现一个文件的副本。我之前确实让它正常工作过一次进行测试,但我不记得我可能改变了什么。
有谁知道我的代码可能有什么问题,或者为什么我没有发送目录中的所有文件,而是在我的电子邮件中多次收到一个文件?
这是我的代码:
multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
File f = new File("C:\\foo\\bar");
File[] attachments = f.listFiles();
//email with attachments (if any)
for(int i = 0; i < f.listFiles().length - 1; i++){
DataSource fileDataSource = new FileDataSource(attachments[i]);
messageBodyPart.setDataHandler(new DataHandler(fileDataSource));
messageBodyPart.setFileName(attachments[i].getName());
multipart.addBodyPart(messageBodyPart);
}
message.setContent(multipart);
message.setSentDate(new Date());
Transport.send(message);