helper.setText,是否可以发送多于一行的数组(字符串)?如果是的话,如何

时间:2016-08-17 13:51:02

标签: java spring

我试图这样做

MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);

for (int a= 0; a<=i; a++){
        System.out.println("nameArrays.get(a) -"+nameArrays.get(a));
            helper.setText("Plain message", "<html><body><h2>"+nameArrays.get(a)+"</h2></body></html>" );
    }

在控制台中我看到:

nameArrays.get(a) -NameOne - 1pieces.
nameArrays.get(a) -GlenDeveron - 3pieces.
nameArrays.get(a) -Tomintoul - 5pieces.

但是当我收到电子邮件时,我只看到最后一个文字 - Tomintoul - 5pieces. 我已经研究了论坛和帮助2天,但没有在我的问题上找到答案

1 个答案:

答案 0 :(得分:1)

使用您的代码覆盖每个循环中的消息。使用StringBuffer构建字符串:

MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
StringBuffer sb = new StringBuffer("<html><body>");
for (int a= 0; a<=i; a++){
        System.out.println("nameArrays.get(a) -"+nameArrays.get(a));
        sb.append("<h2>"+nameArrays.get(a)+"</h2>");
    }

sb.append("</body></html>");

在构建完字符串之后,您可以将其设置为帮助程序:

        helper.setText("Plain message", sb.toString() );