/** * Get message : max number of message and stop if find uid message * * @param int $uid * @param int $limit * * @return array */ public function getMessageUntil($uid, $limit = 10) { $messages = array(); $numMessages = $this->server->numMessages(); if ($numMessages > $limit) { $numLimit = $numMessages - $limit; } else { $numLimit = 0; } $stream = $this->server->getImapStream(); for ($i = $numMessages; $i > $numLimit; $i--) { $newUid = $this->getMessage($stream, $i); if ($newUid === $uid) { break; } $messages[] = $this->createMessage($newUid); } return $messages; }