有人可以告诉我如何在电子邮件内容中插入换行符。我使用此代码段发送电子邮件。
public boolean sendMail(final Account player, final Object tl, final String type)
{
MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception
{
MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
String msgAdmin = msgFrom;
message.setTo(player.getEmail()); // TODO: changed from msgAdmin to player.getEmail()
message.setFrom(msgFrom);
message.setSubject(type + " invitation");
Map model = new HashMap();
model.put("tl", tl);
model.put("player", player);
model.put("type", type);
String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,
"com/test/mail/invite.vm", model);
logger.debug(text);
message.setText(text, true);
}
};
return sendMail(preparator);
}
我在电子邮件内容中尝试了\ r \ n字符。但它似乎没有用。像BR标签这样的HTML标记有效,但我不想在电子邮件内容中添加html标记。还有其他解决办法吗?
答案 0 :(得分:2)
实际上问题是当你调用message.setText时,你将第二个争论设置为true。这意味着该消息被解释为HTML。为了显示电子邮件换行符,只需将第二个参数设置为false。
答案 1 :(得分:1)
换行符和速度模板是一个记录良好的问题。最好的解决方法是将“\ n”存储为您可用于模板的属性的值。然后引用该属性。