You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot发送含回车邮件:如何使内容保持单行显示

解决邮件含回车符但显示为一行的问题

问题分析

你当前的Java代码将邮件内容设置为text/html格式,HTML本身会忽略文本中的换行符,但你需要让包含回车符的邮件内容最终显示为一行,核心是处理正文里的换行符。

解决方案

直接对邮件正文进行处理,移除所有回车符(\r)和换行符(\n),确保内容连为一行。

修改后的完整代码

public static void main(String[] args) throws MessagingException {

    Properties prop = new Properties();

    prop.put("mail.smtp.auth", true);
    prop.put("mail.smtp.starttls.enable", "true");
    prop.put("mail.smtp.host", "smtp.suerviciodecorreo.es");
    prop.put("mail.smtp.port", "588");
    prop.put("mail.smtp.ssl.trust", "smtp.suerviciodecorreo.es");

    String mailTo = "ricaik@gmail.co";
    String from = "a098@cummmatica.co";
    String subject = "hola ? ";
    String body = "Saludos\r\n" +
            "\n" +
            " \n" +
            "\n" +
            " \n" +
            "\n" +
            "aaaaa\r\n" +
            "\n" +
            "bbbbbb\n" +
            "\n" ;

    // 移除所有换行符,让内容显示为一行;若要替换为空格,把""改成" "即可
    String processedBody = body.replaceAll("\\r|\\n", "");

    Session session = Session.getInstance(prop, new Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("a098@cummmatica.co", "Eiu8hhuy72024");
        }

    });

    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress("a098@cummmatica.co"));

    message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(mailTo));
    message.setSubject(subject);

    MimeBodyPart mimeBodyPart = new MimeBodyPart();
    // 使用处理后的正文
    mimeBodyPart.setContent(processedBody, "text/html; charset=utf-8");

    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(mimeBodyPart);

    log.info("Setting content");

    message.setContent(multipart);

    log.info("Sending message {} ", message);

    Transport.send(message);

    log.info("Sent message {}", message);

}

关键说明

  • replaceAll("\\r|\\n", "")会匹配所有单独的\r、\n以及组合的\r\n,将其全部移除,确保内容显示为一行。
  • 如果你希望原本换行的位置保留空格(提升可读性),只需把替换目标从""改成" "即可。

内容的提问来源于stack exchange,提问作者Nunyet Calçada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:53:18