diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 8d80a059bd..894f76fcd0 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -409,6 +409,7 @@ class Core { ex instanceof FileNotFoundException || ex instanceof FolderNotFoundException || ex instanceof IllegalArgumentException || + ex instanceof SQLiteConstraintException || ex.getCause() instanceof BadCommandException || ex.getCause() instanceof CommandFailedException) { // com.sun.mail.iap.BadCommandException: B13 BAD [TOOBIG] Message too large @@ -489,12 +490,13 @@ class Core { if (TextUtils.isEmpty(message.msgid)) throw new IllegalArgumentException("Message without msgid for " + op.name); - message.uid = findUid(ifolder, message.msgid, false); - if (message.uid == null) + Long uid = findUid(ifolder, message.msgid, false); + if (uid == null) throw new IllegalArgumentException("Message not found for " + op.name); DB db = DB.getInstance(context); db.message().setMessageUid(message.id, message.uid); + message.uid = uid; } private static Long findUid(IMAPFolder ifolder, String msgid, boolean purge) throws MessagingException {