fetchRecentMessages method

Future<FetchImapResult> fetchRecentMessages({
  1. int messageCount = 30,
  2. String criteria = '(FLAGS BODY[])',
})

Fetches the specified number of recent messages by the specified criteria.

messageCount optional number of messages that should be fetched, defaults to 30 criteria optional fetch criterria of the requested elements, e.g. '(ENVELOPE BODY.PEEK[])'. Defaults to '(FLAGS BODY[])'.

Implementation

Future<FetchImapResult> fetchRecentMessages(
    {int messageCount = 30, String criteria = '(FLAGS BODY[])'}) {
  final box = _selectedMailbox;
  if (box == null) {
    throw StateError('No mailbox selected - call select() first.');
  }
  final upperMessageSequenceId = box.messagesExists;
  var lowerMessageSequenceId = upperMessageSequenceId - messageCount;
  if (lowerMessageSequenceId < 1) {
    lowerMessageSequenceId = 1;
  }
  return fetchMessages(
      MessageSequence.fromRange(
          lowerMessageSequenceId, upperMessageSequenceId),
      criteria);
}