javaからメールを送信しています。問題は、私がforループからプログラムを実行したときに私のメールのデータの最後のレコードしか得られないということです。しかし、私はコンソール上のデータを印刷するとき、私はすべてのレコードを期待どおりに取得します。Javaでforループの結果を1つだけ表示する
for(int i = 0; i < stud.size(); i++) {
Student students = studs.get(i);
msg.setContent("<table border = '1'><tr>"
+ "<th>Students</th><th>Project</th></tr>"
+ "<tr> <td> "
+ students.getFullname() + "</td>"
+ "<td> " + students.getProject() + "</td>"
+ "</tr></table>", "text/html"); // this sends only the last record on mail.
System.out.println(students.getFullname() + " " + students.getProject()); // this prints a list of records on console.
}
Transport.send(msg);
send()をループに移動すると、複数のメールが送信されます。正しくありません。 – don234
かなりシンプルです。 あなたが探しているデータは、StringBuilderに追加してください(文字列の値を確認できます)。その後、ループをコンテンツ本文に設定して送信してください:) 問題が解決したら解決してください。 – freesoul