java - JavaMail API:在 html 类型的邮件内容中维护转义字符
问题描述
我有一个要求,我在表单字符串中接收用户输入,例如:
"Hi there,\r\n\r\nThe information is not visible in the page since you’ve adjusted the app.\r\n\r\ncan you please fix it?\r\n\r\nThanks,\r\n\r\nXYZ"
虽然它在 UI 中看起来像这样:
Hi there,
The information is not visible in the page since you’ve adjusted the app.
can you please fix it?
Thanks,
XYZ
我需要解析上面的字符串,/r /n
并通过邮件将其发送给其他人。
现在,当我在控制台中打印它时,它的打印效果就像它在 UI 中的样子,很明显。
但是,当我尝试将此字符串作为java mail
内容时,当我检查收到的电子邮件时,我只需将所有内容放在一行中。
邮件的内容类型设置为text/html; charset=utf-8
。我也尝试pre-wrap
了造型,但没有奏效。
private static String createEmailContent(String descp) {
StringBuilder sb = new StringBuilder("<style> div { white-space: pre-wrap;}</style><div>");
sb.append(descp);
sb.append("/<div>");
return sb.toString();
}
如何美化内容以使其看起来与收到的完全一样?
解决方案
这是纯文本内容,只需将其作为 text/plain 而不是 text/html 发送。
如果您确实需要将其作为 text/html 发送,则需要处理数据并改为 html 换行符 <br> 或将其全部包装在 <pre> 中。
推荐阅读
- android - 如何从 Android 应用程序启动 Samba smb 服务器?
- flutter - 如何在 Flutter 中从 Firebase 存储中删除文件
- flutter - 弯曲的导航栏使其可点击
- c# - 在 xamarin 表单中使用 SQL Server 中的 API 未删除数据。HttpClient 删除
- c# - 如何在 C# 中的 If 语句之外传递字符串变量值?
- three.js - 如何在threejs中增加平面几何的厚度
- python - f-string,多个格式说明符
- http - Http请求为flutter web抛出XMLHttpRequest错误
- python - 减少 Matplotlib 中子图的高度
- c - 无法将文件名列表分配给 GNU-make 中的变量