diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index e3b8f1efb7..7ffa5412c0 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -3136,9 +3136,8 @@ class Core { for (int i = imessages.length - max; i < imessages.length; i++) { Message imessage = imessages[i]; MessageHelper helper = new MessageHelper((MimeMessage) imessage, context); - String msgid = helper.getMessageID(); // expensive! - if (!TextUtils.isEmpty(msgid)) - known.remove(msgid); + String msgid = helper.getPOP3MessageID(); // expensive! + known.remove(msgid); } for (TupleUidl uidl : known.values()) @@ -3175,15 +3174,7 @@ class Core { } } else { uidl = null; - msgid = helper.getMessageID(); - - if (TextUtils.isEmpty(msgid)) { - Long time = helper.getSent(); - if (time == null) - msgid = helper.getHash(); - else - msgid = Long.toString(time); - } + msgid = helper.getPOP3MessageID(); } if (TextUtils.isEmpty(msgid)) { diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index b9fe907425..dc77e3d390 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -1277,6 +1277,19 @@ public class MessageHelper { return (header == null ? null : MimeUtility.unfold(header)); } + @NonNull + String getPOP3MessageID() throws MessagingException { + String msgid = getMessageID(); + if (TextUtils.isEmpty(msgid)) { + Long time = getSent(); + if (time == null) + msgid = getHash(); + else + msgid = Long.toString(time); + } + return msgid; + } + List
getAllHeaders() throws MessagingException { ensureHeaders(); return Collections.list(imessage.getAllHeaders());