Можно ли использовать функцию java mail(mailto) с.docx или отформатированными файлами.doc?

Вот что я сейчас делаю:

private void openEmailButtonMouseClicked(MouseEvent e) {

    String mailto = getClientConfigValue("email", "mailto");
    String ccto = getClientConfigValue("email", "ccto");
    String subject = getClientConfigValue("email", "subject");
    String body = getClientConfigValue("email", "body");
    String currClient = getCurrClient();
    String bodyPath = getSpecificClientConfigPath(currClient) + body;
    String text = "";

    try {
        BufferedReader br = new BufferedReader(new FileReader(bodyPath));
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            text = sb.toString();
            while (text.contains(" ")) {
                text = text.replace(" ", "%20");
            }
            text = text.replaceAll("(\r\n|\r|\n|\n\r)", "%0A");
        }
        finally {
            br.close();
        }
    }
    catch (Exception e1) {
        e1.printStackTrace();
    }

    try {
        Desktop.getDesktop().mail(new URI("mailto:" + mailto + "?subject=" + subject + "&cc=" + ccto + "&body=" + text));

    }
    catch (Exception e1) {
        e1.printStackTrace();
    }
}

Он прекрасно работает для.txt и.doc(без формирования текста). Но все же это не совсем удовлетворительно, так как я не могу отправить форматированный текст на стандартную настольную электронную почту, потому что я вынужден генерировать URL. Кто-нибудь знает способ разбора форматированного текста в почтовом клиенте через mailto или что-нибудь еще?

1 ответ

Нет. Это не ограничение java, а формат mailto url (проверьте RFC2368). Это было бы то же самое в веб-браузере, например.

См. MailTo с телом HTML

Другие вопросы по тегам