Как отправить XML-файл в формате XSL в качестве сообщения электронной почты JavaMail
Я использую JavaMail для отправки электронной почты. Моя цель - отправить содержимое xml-файла, отформатированного xsl-файлом, в качестве сообщения электронной почты. Это возможно?
Я знаю, что следующий код может быть использован для отправки строки, содержащей HTML.
message.set.Content(htmlString, "text/html");
Правильно ли я полагаю, что информация о форматировании для создания html-сообщения в электронном письме должна быть встроена в html и что нет никакого способа подключиться к css? Если это так, то то же самое должно применяться к xml и xsl. Если есть способ объединить существующий xml-файл и xsl-файл в теле письма электронной почты JavaMail, я был бы очень признателен всем, кто может дать мне код, который делает это возможным.
Если это невозможно, я буду рад получить информацию об этом и указать в правильном направлении. Я подозреваю, что мне нужно будет проанализировать файл XML и преобразовать его в строку, содержащую форматирование HTML.
Спасибо.
1 ответ
Это правда, что большинство почтовых клиентов не будут обрабатывать CSS. Вот диаграмма.
В результате обычно применяется форматирование путем преобразования HTML-формата в формате HTML во встроенный стиль, который может обрабатывать большинство почтовых клиентов. Иногда это делается путем предварительной обработки документа с помощью XSLT.
Если вы хотите пойти по этому пути, я предлагаю вам взглянуть на процессор Saxon XSLT для предварительной обработки вашего XML-документа.
Другим вариантом решения этой проблемы может быть что-то вроде Emogrifier, Premailer или даже этот SO вопрос. Который обрабатывает CSS и HTML в один встроенный в стиле электронной почты безопасный документ.