From 610c3bf94a4009e4ddd82eb93584cedbeb9fd09f Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 12 Jul 2021 14:43:23 +0200 Subject: [PATCH] Quick check for HTML in plain text --- .../main/java/eu/faircode/email/MessageHelper.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 08941a3389..612b068004 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -1956,6 +1956,19 @@ public class MessageHelper { if ("flowed".equalsIgnoreCase(h.contentType.getParameter("format"))) result = HtmlHelper.flow(result); + + // https://www.w3.org/QA/2002/04/valid-dtd-list.html + final String DOCTYPE = " DOCTYPE.length()) { + String doctype = result.substring(0, DOCTYPE.length()).toUpperCase(Locale.ROOT); + if (doctype.startsWith(DOCTYPE)) { + String[] words = result.split("\\s+"); + if (words.length > 1 && + "HTML".equals(words[1].toUpperCase(Locale.ROOT))) + return result; + } + } + result = "
" + HtmlHelper.formatPre(result) + "
"; } else if (h.isHtml()) { // Conditionally upgrade to UTF8