From 60ebaa468a6f1e8ae10947ea20c2baa7e58ee692 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 16 Dec 2018 16:39:25 +0100 Subject: [PATCH] Send proper html --- .../java/eu/faircode/email/HtmlHelper.java | 4 +-- .../java/eu/faircode/email/MessageHelper.java | 34 +++++++++++++------ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index 3ea000a1c3..2601134caa 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -229,9 +229,9 @@ public class HtmlHelper { static String getQuote(Context context, long id, boolean sanitize) throws IOException { EntityMessage message = DB.getInstance(context).message().getMessage(id); String html = EntityMessage.read(context, id); - return String.format("

%s %s:

%s
", + return String.format("

%s %s:

\n
%s
", Html.escapeHtml(new Date(message.received).toString()), Html.escapeHtml(MessageHelper.getFormattedAddresses(message.from, true)), - sanitize ? HtmlHelper.sanitize(html) : html); + sanitize ? sanitize(html) : getBody(html)); } } diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 919ac89271..aa0538430a 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -284,27 +284,41 @@ public class MessageHelper { static void build(Context context, EntityMessage message, MimeMessage imessage) throws IOException, MessagingException { DB db = DB.getInstance(context); - String body = message.read(context); + StringBuilder body = new StringBuilder(); + body.append(message.read(context)); if (Helper.isPro(context) && message.identity != null) { EntityIdentity identity = db.identity().getIdentity(message.identity); if (!TextUtils.isEmpty(identity.signature)) - body += identity.signature; + body.append(identity.signature); } if (message.replying != null || message.forwarding != null) - body += HtmlHelper.getQuote(context, - message.replying == null ? message.forwarding : message.replying, false); + body.append(HtmlHelper.getQuote(context, + message.replying == null ? message.forwarding : message.replying, false)); - BodyPart plain = new MimeBodyPart(); - plain.setContent(Jsoup.parse(body).text(), "text/plain; charset=" + Charset.defaultCharset().name()); + String plain = Jsoup.parse(body.toString()).text(); - BodyPart html = new MimeBodyPart(); - html.setContent(body, "text/html; charset=" + Charset.defaultCharset().name()); + StringBuilder html = new StringBuilder(); + html.append("").append("\n"); + html.append("").append("\n"); + html.append("").append("\n"); + html.append(" ").append("\n"); + html.append("").append("\n"); + html.append("").append("\n"); + html.append(body.toString()).append("\n"); + html.append("").append("\n"); + html.append("").append("\n"); + + BodyPart plainBody = new MimeBodyPart(); + plainBody.setContent(plain, "text/plain; charset=" + Charset.defaultCharset().name()); + + BodyPart htmlBody = new MimeBodyPart(); + htmlBody.setContent(html.toString(), "text/html; charset=" + Charset.defaultCharset().name()); Multipart alternative = new MimeMultipart("alternative"); - alternative.addBodyPart(plain); - alternative.addBodyPart(html); + alternative.addBodyPart(plainBody); + alternative.addBodyPart(htmlBody); List attachments = db.attachment().getAttachments(message.id); if (attachments.size() == 0) {