diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 161ac8d112..6650a7ae18 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -682,8 +682,8 @@ class Core { List rules = db.rule().getEnabledRules(folder.id); IMAPMessage imessage = (IMAPMessage) ifolder.getMessageByUID(uid); - if (imessage == null) - throw new MessageRemovedException(); + if (imessage == null || imessage.isExpunged()) + return; FetchProfile fp = new FetchProfile(); fp.add(FetchProfile.Item.ENVELOPE); @@ -696,6 +696,9 @@ class Core { fp.add(IMAPFolder.FetchProfileItem.INTERNALDATE); ifolder.fetch(new Message[]{imessage}, fp); + if (imessage.isSet(Flags.Flag.DELETED)) + return; + EntityMessage message = synchronizeMessage(context, account, folder, ifolder, imessage, false, download, rules, state); if (download) downloadMessage(context, folder, ifolder, imessage, message.id, state);