Как отправить XML-файл в формате XSL в качестве сообщения электронной почты JavaMail - PullRequest
0 голосов
/ 07 марта 2011

Я использую JavaMail для отправки электронной почты.Моя цель - отправить содержимое xml-файла, отформатированного xsl-файлом, в качестве сообщения электронной почты.Возможно ли это?

Я знаю, что следующий код можно использовать для отправки строки, содержащей html.

message.set.Content(htmlString, "text/html");

Правильно ли я полагаю, что информация о форматировании создает сообщение htmlв электронной почте должны быть встроены в HTML, и что нет никакого способа подключиться к CSS?Если это так, то то же самое должно применяться к xml и xsl.Если есть способ объединить существующий xml-файл и xsl-файл в теле письма электронной почты JavaMail, я был бы очень признателен всем, кто может дать мне код, который делает это возможным.

Если это невозможно, я буду рад получить информацию об этом и указать в правильном направлении.Я подозреваю, что мне нужно будет проанализировать XML-файл и преобразовать его в строку, содержащую HTML-форматирование.

Спасибо.

1 Ответ

0 голосов
/ 07 марта 2011

Это правда, что большинство почтовых клиентов не будут обрабатывать CSS. Вот диаграмма .

В результате обычно применяется форматирование путем преобразования HTML-кода в формате CSS во встроенный стиль, который может обрабатывать большинство почтовых клиентов.Иногда это делается путем предварительной обработки документа с помощью XSLT.

Если вы хотите пойти по этому пути, я предлагаю вам взглянуть на Saxon XSLT процессор для предварительной обработки вашего XML-документа.

Другим вариантом решения этой проблемы может быть что-то вроде Emogrifier , Premailer или даже этот SO Вопрос .Который обрабатывает CSS и HTML в один встроенный в стиле электронной почты безопасный документ.

...