簡體   English   中英

在MimeMessage中無法正確解釋換行符?

[英]Newline character is not interpreted correctly in MimeMessage?

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發送時沒有正確解釋新行字符?

因為您要發送HTML電子郵件,所以必須使用<br />而不是\\r\\n ,就像傳統的 HTML文檔(例如.html文件)一樣。 當您使用\\r\\n ,渲染的內容不會打印新行,但郵件的源代碼將會(反之亦然)。

HTML不解釋換行符。 將內容類型設置為“html”時,請使用“<br/>”代替“\\ r \\ n”:

StringBuffer emailMessage = new StringBuffer("Dear Scott");
emailMessage.append("<br/>");
emailMessage.append("Sending mail over internet");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM