Use MDN original message ID

pull/207/head
M66B 3 years ago
parent d986ae05c2
commit 8ce25774fa

@ -4198,9 +4198,20 @@ class Core {
if (s != null) if (s != null)
map.put(s.id, s); map.put(s.id, s);
List<EntityMessage> reported = db.message().getMessagesByMsgId(folder.account, message.inreplyto); List<EntityMessage> all = new ArrayList<>();
if (reported != null)
for (EntityMessage m : reported) if (message.inreplyto != null) {
List<EntityMessage> replied = db.message().getMessagesByMsgId(folder.account, message.inreplyto);
if (replied != null)
all.addAll(replied);
}
if (r.refid != null) {
List<EntityMessage> refs = db.message().getMessagesByMsgId(folder.account, r.refid);
if (refs != null)
all.addAll(refs);
}
for (EntityMessage m : all)
if (!map.containsKey(m.folder)) { if (!map.containsKey(m.folder)) {
EntityFolder f = db.folder().getFolder(m.folder); EntityFolder f = db.folder().getFolder(m.folder);
if (f != null) if (f != null)

@ -4541,6 +4541,7 @@ public class MessageHelper {
String status; String status;
String diagnostic; String diagnostic;
String disposition; String disposition;
String refid;
String html; String html;
Report(String type, String content) { Report(String type, String content) {
@ -4596,6 +4597,9 @@ public class MessageHelper {
case "Disposition": case "Disposition":
this.disposition = value; this.disposition = value;
break; break;
case "Original-Message-ID":
this.refid = value;
break;
} }
} }
} }

Loading…
Cancel
Save