toDocument method
Document
toDocument(
- MimeMessage message
Transforms the DOM or plain text of the given message
.
Implementation
Document toDocument(MimeMessage message) {
var html =
configuration.preferPlainText ? null : message.decodeTextHtmlPart();
if (html == null) {
var textPart = message.decodeTextPlainPart();
if (textPart == null && configuration.preferPlainText) {
textPart = message.decodeTextHtmlPart();
if (textPart != null) {
textPart = Document.html(textPart).body?.innerHtml;
if (textPart != null) {
textPart = HtmlToPlainTextConverter.convert(textPart);
}
}
}
if (textPart == null) {
if (message.hasInlineParts()) {
textPart = '';
} else {
textPart = configuration.emptyMessageText;
}
} else {
textPart = transformPlainText(textPart, message);
}
html =
configuration.plainTextHtmlTemplate.replaceFirst('{text}', textPart);
} else if (configuration.enableDarkMode) {
// hack to remove any white bgcolor values:
html = html.replaceAll('bgcolor="#FFFFFF"', '');
html = html.replaceAll('bgcolor="#ffffff"', '');
}
final document = parse(html);
// if (configuration.blockExternalImages) {
// blockExternalImageProcessor.process(document, this);
// }
transformDocument(document, message);
//TODO integrate other inline parts
return document;
}