diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java index f7fde59..10eb779 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java @@ -25,11 +25,13 @@ import java.util.Map; import java.util.Optional; import javax.mail.Flags; +import javax.mail.Flags.Flag; import javax.persistence.EntityManagerFactory; import javax.persistence.PersistenceException; import javax.persistence.Query; import org.apache.james.mailbox.MailboxSession; +import org.apache.james.mailbox.MessageManager; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.jpa.JPAId; @@ -214,6 +216,10 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM Map data = new HashMap<>(); List ranges = MessageRange.toRanges(uids); + for (MessageRange range : ranges) { + updateFlags(mailbox, new FlagsUpdateCalculator(new Flags(Flag.DELETED), MessageManager.FlagsUpdateMode.ADD), range); + } + ranges.forEach(range -> { List messages = findDeletedMessages(range, mailboxId); data.putAll(createMetaData(messages));