Java System.lineSeparator()在Linux环境中不工作
我使用Java8和SpringAPI组成邮件正文,如下所示Java System.lineSeparator()在Linux环境中不工作,java,spring,Java,Spring,我使用Java8和SpringAPI组成邮件正文,如下所示 StringBuilder emailTemplateForNewPassword = new StringBuilder(); emailTemplateForNewPassword.append("Dear User,"); emailTemplateForNewPassword.append(System.lineSeparator()); emailTemplat
StringBuilder emailTemplateForNewPassword = new StringBuilder();
emailTemplateForNewPassword.append("Dear User,");
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append("Sample Mail.");
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append("Yours Faityfully,");
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append("ABC.Com");
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append("0094778999658");
预期结果:尊敬的用户: 样本邮件 您诚挚的,
ABC.Com
0094778999658 实际结果:
尊敬的用户: 样本邮件 您诚挚的ABC.Com 0094778999658 即使我使用了
System.lineSeparator()
,我也不清楚为什么最后3行出现在同一行上
我已经尝试了“\r\n”
,但没有成功
有人能告诉我出了什么事吗
我知道还有其他与此相关的问题,但没有一个能解决我的问题。在我找到答案之前,请不要否定这个问题。介绍了电子邮件的标准
Per:
消息被分成几行字符。一行是一系列的
用两个字符回车符分隔的字符
和线路馈电;也就是说,回车符(CR)字符(ASCII
值13),后跟换行符(LF)字符(ASCII
值10)。(托架返回/线路馈送对通常写入
本文件名为“CRLF”。)
您需要明确使用\r\n
来分隔行
您不能依赖于
System.lineSeparator()
,因为这取决于JVM配置;默认情况下,该配置在Linux上只使用\n
。可能是因为无论您将此字符串赋给什么对象,实际上都需要\r\n
,我使用System.lineSeparator()。它应该正确处理这个问题?如果您使用的API需要\r\n
,那么您应该使用\r\n
:System.lineSeparator()
取决于JVM的配置。使用什么客户端来查看电子邮件?emailTemplateForNewPassword.append(“您的忠实的”);emailTemplateForNewPassword.append(“\r\n”);emailTemplateForNewPassword.append(“ABC.Com”);emailTemplateForNewPassword.append(“\r\n”);emailTemplateForNewPassword.append(“0094778999658”);但我还是遇到了同样的问题,有人对问题不屑一顾,没有解决问题。那么,举办这样的论坛的目的是什么?真的很失望。今天我试了一整天,但还是没有成功。@javaseekar实际上,有两个人试过(他们都不是我)。我可以想象,因为您没有提供足够的信息来真实再现这个问题。我已经通过使用mimessage修复了这个问题,并将内容类型设置为“text/html”。我已使用分隔了这些行。投票否决这个问题的人无法提供正确答案。请不要通过否决投票来降低我们的积极性。