StringBuffer emailMessage = new StringBuffer("Dear Scott");
emailMessage.append("\r\n");
emailMessage.append("Sending mail over internet");
所以这是我在调试器中检查时的格式化内容
Dear Scott,
Sending mail over internet
但是当我在雷鸟中收到它时,我会收到如下所示的完整信息。不知何故,换行符 将内容作为html发送时未正确解释
Dear Scott,Sending mail over internet
这是我如何以html
发送消息 MimeMessage msg = null;
msg = new MimeMessage(mailSession);
msg.setText(body, CHARSET_UTF_8, "html");
如果我只是将文本发送为msg.setText(正文,CHARSET_UTF_8),那么我会以正确的格式看到该消息,即"通过互联网发送邮件"在...中看到 下一行。 我不明白为什么在将文字作为html发送时无法正确解释新的字符?
答案 0 :(得分:12)
由于您要发送HTML电子邮件,因此您必须使用<br />
代替\r\n
,就像经典 HTML文档一样(例如.html
文件)。当您使用\r\n
时,呈现的内容将不会打印新行,但邮件的源代码将会(反之亦然)。
答案 1 :(得分:9)
HTML不解释换行符。将内容类型设置为“html”时,请使用“&lt; br /&gt;”而不是“\ r \ n”:
StringBuffer emailMessage = new StringBuffer("Dear Scott");
emailMessage.append("<br/>");
emailMessage.append("Sending mail over internet");