diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 79f0098d0f..1c48c1d9c1 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -1087,7 +1087,7 @@ class Core { private static void onFetch(Context context, JSONArray jargs, EntityFolder folder, IMAPStore istore, IMAPFolder ifolder, State state) throws JSONException, MessagingException, IOException { long uid = jargs.getLong(0); if (uid < 0) - throw new MessageRemovedException("uid"); + throw new MessageRemovedException(folder.name + " fetch uid=" + uid); DB db = DB.getInstance(context); EntityAccount account = db.account().getAccount(folder.account); @@ -1099,7 +1099,11 @@ class Core { MimeMessage imessage = (MimeMessage) ifolder.getMessageByUID(uid); if (imessage == null) - throw new MessageRemovedException(); + throw new MessageRemovedException(folder.name + " fetch not found uid=" + uid); + if (imessage.isExpunged()) + throw new MessageRemovedException(folder.name + " fetch expunged uid=" + uid); + if (imessage.isSet(Flags.Flag.DELETED)) + throw new MessageRemovedException(folder.name + " fetch deleted uid=" + uid); try { FetchProfile fp = new FetchProfile();