diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index eee3d736a8..9fa4b70ee8 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -278,28 +278,22 @@ public class MessageHelper { private String getHtml(Part part) throws MessagingException, UnsupportedEncodingException { if (part.isMimeType("text/*")) try { - String s = part.getContent().toString(); + String s; + if ("x-binaryenc".equals(part.getContentType())) { + InputStream is = part.getInputStream(); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + byte[] buffer = new byte[4096]; + for (int len = is.read(buffer); len != -1; len = is.read(buffer)) + os.write(buffer, 0, len); + s = new String(os.toByteArray(), "US-ASCII"); + } else + s = part.getContent().toString(); if (part.isMimeType("text/plain")) s = "
" + s.replaceAll("\\r?\\n", "
") + "";
return s;
} catch (UnsupportedEncodingException ex) {
+ // https://javaee.github.io/javamail/FAQ#unsupen
throw new UnsupportedEncodingException(part.getContentType());
-/*
- // https://javaee.github.io/javamail/FAQ#unsupen
- InputStream is = part.getInputStream();
-
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- byte[] buffer = new byte[8192];
- for (int len = is.read(buffer); len != -1; len = is.read(buffer))
- os.write(buffer, 0, len);
- os.toByteArray();
-
- try {
- s += new String(os.toByteArray(), "US-ASCII");
- } catch (UnsupportedEncodingException uex) {
- Log.w(Helper.TAG, uex + "\n" + Log.getStackTraceString(uex));
- }
-*/
} catch (IOException ex) {
Log.w(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex));