Как отправить 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 в один встроенный в стиле электронной почты безопасный документ.

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