Java:使用默认邮件客户端发送电子邮件:如何创建新行?

时间:2014-05-22 08:46:42

标签: java html email encoding

我正在使用预先填写的表单(to,subject,body)打开默认邮件客户端。

除了一件事,一切都很好。我无法弄清楚在正文中添加换行符。我试图对<br>标签进行编码,但它不起作用。结果是,身体只显示第一行而第二行消失了。

示例:

private void openMail(URI uri) {
        if (Desktop.isDesktopSupported() && (Desktop.getDesktop()).isSupported(Desktop.Action.MAIL)) {
            try {
                try {
                    String address = "test@test.com";
                    String subject = "Custom_Subject";
                    String html_br = "&lt;br&gt;";
                    String body = "First%20Line" + html_br + "Second%20Line";
                    String mailToString = "mailto:" + address + "?subject=" + subject + "&body=" + body;

                    URI mailto = new URI(mailToString);
                    Desktop.getDesktop().mail(mailto);
                } catch (URISyntaxException e) {
                    e.printStackTrace();
                }

            } catch (IOException e) {
            }
        } else {

        }
    }

2 个答案:

答案 0 :(得分:2)

托盘%0D%0A(作为回车换行)

答案 1 :(得分:0)

如果格式为HTML,则会忽略换行符,并且您需要插入HTML中断<br />

StringBuilder body = new StringBuilder();
body.append("First Line<br />");
body.append("Second Line<br />");
String mailToString = "mailto:" + address + "?subject=" + subject + "&body=" + body.toString();