テスト用にディレクトリ「bar」に2つのファイルがあります。以下のコードから、そのディレクトリ内のすべてのファイルを電子メールの添付ファイルとして送信することを想定しています。問題は、それらを送信すると、電子メールに 1 つのファイルの重複が表示されることです。以前はテストのために正しく動作していましたが、何を変更したか覚えていません。
私のコードの何が問題なのか、またはディレクトリ内のすべてのファイルを送信する代わりに、電子メールで1つのファイルを複数回受信する理由を誰かが認識していますか?
これが私のコードです:
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);