fetchRecentMessages method
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 criteria of the requested elements, e.g.
'(ENVELOPE BODY.PEEK[])'. Defaults to '(FLAGS BODY[])'.
Specify a responseTimeout when a response is expected within the
given time.
Implementation
Future<FetchImapResult> fetchRecentMessages({
int messageCount = 30,
String criteria = '(FLAGS BODY[])',
Duration? responseTimeout,
}) {
final box = _selectedMailbox;
if (box == null) {
throw InvalidArgumentException(
'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,
responseTimeout: responseTimeout,
);
}