deleteMessages method

Future<DeleteResult> deleteMessages(
  1. MessageSequence sequence, {
  2. bool expunge = false,
  3. List<MimeMessage>? messages,
})

Deletes the given message sequence.

Depending on the service capabilities either the sequence is moved to the trash, copied to the trash or just flagged as deleted.

Optionally set expunge to true to clear the messages directly from disk on IMAP servers. In that case, the delete operation cannot be undone.

Returns a DeleteResult that can be used for an undo operation, compare undoDeleteMessages.

The UIDs of the messages will be updated automatically, when they are specified.

Implementation

Future<DeleteResult> deleteMessages(
  MessageSequence sequence, {
  bool expunge = false,
  List<MimeMessage>? messages,
}) {
  final trashMailbox = getMailbox(MailboxFlag.trash);

  return _incomingLock.synchronized(
    () => _incomingMailClient.deleteMessages(
      sequence,
      trashMailbox,
      expunge: expunge,
      messages: messages,
    ),
  );
}