【问题标题】:How to formatting a text with SimpleMailMessage?如何使用 SimpleMailMessage 格式化文本?
【发布时间】:2011-07-25 22:29:51
【问题描述】:

我的电子邮件内容文本是

String text = "Hey, You are create a new Account! Best, MyTeam";

如何将文本格式化为:

嘿, 您正在创建一个新帐户! 最好的,我的团队

【问题讨论】:

    标签: java spring email velocity


    【解决方案1】:

    SimpleMailMessage 只能处理纯文本消息,因此您需要在字符串中嵌入显式换行符:

    String text = "Hey,\n\nYou are create a new Account!\n\nBest, MyTeam";
    

    velocity 或 freemarker 等模板系统可能会使这更容易。

    如果要处理 HTML 消息,需要使用JavaMailSenderMimeMessagePreparator

    【讨论】:

    • Microsoft Outlook 删除了额外的换行符,因此如果您使用的是 Outlook,上述方法可能无法完美运行。在这种情况下,您可以参考this answer 来解决您的问题。
    【解决方案2】:

    试试

    String text = "Hey, You are create a new Account!/n Best, MyTeam";
    

    或者这个(如果它必须在某个 HTML 页面中)

    String text = "Hey, You are create a new Account!<br/> Best, MyTeam";
    

    String text = "Hey, You are create a new Account!" +System.getProperty("line.separator") + "Regards, MyTeam";
    

    【讨论】:

    • 这行不通。我收到“嘿,您正在创建一个新帐户!
      最好的,MyTeam”
    • 显示更多关于它的信息。该变量在哪里被调用?您是否尝试过使用行分隔符?
    • @sfrj 使用 System.getProperty("line.separator") 它似乎不起作用,但如果你直接添加 \n 它工作正常。您是否测试了第三种方法,因为它似乎对我不起作用。谢谢
    • 刚刚发现 Outlook 正在删除额外的换行符。它似乎工作正常。
    猜你喜欢
    • 2016-03-28
    • 2015-05-17
    • 2015-12-03
    • 1970-01-01
    • 2018-07-23
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多