diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java
index 88f773a47c..dc2adddaf8 100644
--- a/app/src/main/java/eu/faircode/email/MessageHelper.java
+++ b/app/src/main/java/eu/faircode/email/MessageHelper.java
@@ -1920,23 +1920,28 @@ public class MessageHelper {
} else if (h.isDSN()) {
StringBuilder report = new StringBuilder();
report.append("
");
- for (String line : result.split("\\r?\\n")) {
- if (line.length() > 0)
- if (Character.isWhitespace(line.charAt(0)))
- report.append(line).append("
");
+ for (String line : result.split("\\r?\\n"))
+ if (line.length() == 0)
+ report.append("
");
+ else if (Character.isWhitespace(line.charAt(0)))
+ report.append(line).append("
");
+ else {
+ int colon = line.indexOf(':');
+ if (colon < 0)
+ report.append(line);
else {
- int colon = line.indexOf(':');
- if (colon < 0)
- report.append(line);
- else
- report
- .append("")
- .append(line.substring(0, colon))
- .append("")
- .append(line.substring(colon))
- .append("
");
+ String name = line.substring(0, colon).trim();
+ String value = line.substring(colon + 1).trim();
+ value = decodeMime(value);
+ report
+ .append("")
+ .append(TextUtils.htmlEncode(name))
+ .append("")
+ .append(": ")
+ .append(TextUtils.htmlEncode(value))
+ .append("
");
}
- }
+ }
report.append("
");
result = report.toString();
} else