Можно ли использовать функцию 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). Это было бы то же самое в веб-браузере, например.