格式化 JAVA 和 EMAIL 中的字符串

Formatting String in JAVA and EMAIL

我已经格式化了一份报告并将其保存在如下所示的字符串中..

我正在尝试使用此内容的 Javax.mail 发送电子邮件。但是,当我收到电子邮件时,字符串变得混乱并且看起来不像这样。

有没有办法让字符串像上面一样接收邮件。

这是我用来发送电子邮件的电子邮件组件。

messageBody 包含字符串。

乱七八糟的报告看起来像这样...

这是一个示例,如何创建 html 邮件:

    MimeMessage mimeMessage = new MimeMessage(session);

    //set from, recipient, subject ...

    //wrapper
    final MimeBodyPart wrap = new MimeBodyPart();

    //Text
    MimeMultipart cover = new MimeMultipart("alternative");
    BodyPart textPart = new MimeBodyPart();
    textPart.setContent(messageBody, "text/plain; charset=utf-8");
    textPart.setDisposition(Part.INLINE);
    cover.addBodyPart(textPart);

    //HTML
    BodyPart htmlPart = new MimeBodyPart();
    htmlPart.setContent(messageBodyHtml, "text/html; charset=utf-8");
    htmlPart.setDisposition(Part.INLINE);
    cover.addBodyPart(htmlPart);

    wrap.setContent(cover);

    MimeMultipart content = new MimeMultipart("related");
    mimeMessage.setContent(content);
    content.addBodyPart(wrap);

该邮件仍然包含一个文本部分,供那些已停用 html 邮件的人使用。变量 messageBodyHtml 包含报告 table 的 html 代码。它看起来像这样:

    <table>
        <tr><th>NAME</th><th>GENDER</th>...</tr>
        <tr><td>Eddy</td><td>Male</td>...</tr>
        .
        .
        .
    </table>

希望这对您有所帮助。

您可以这样更改 messageBody

messageBody = "<font face=\"courier new\" size=\"10px\">" + messageBody + "</font></p>";
message.setText(messageBody);