This method supports unique IDs instead of message numbers. See
{@link ezcMailImapTransportOptions} for how to enable unique IDs
referencing.
Fetches $count messages starting from the $offset and returns them as a
{@link ezcMailImapSet}. If $count is not specified or if it is 0, it fetches
all messages starting from the $offset.
Before calling this method, a connection to the IMAP server must be
established and a user must be authenticated successfully, and a mailbox
must be selected.
Example:
$imap = new ezcMailImapTransport( 'imap.example.com' );
$imap->authenticate( 'username', 'password' );
$imap->selectMailbox( 'Inbox' );
$set = $imap->fetchFromOffset( 1, 10 );
$set can be parsed with ezcMailParser
public function testFetchFromOffset5() { $imap = new ezcMailImapTransport(self::$server, self::$port); $imap->authenticate(self::$user, self::$password); $imap->selectMailbox('inbox'); $set = $imap->fetchFromOffset(1, 0); $parser = new ezcMailParser(); $mail = $parser->parseMail($set); $this->assertEquals(4, count($mail)); $this->assertEquals("pine: Mail with attachment", $mail[1]->subject); }
public function testUidCommandsFetchFromOffsetStartOutside() { $imap = new ezcMailImapTransport(self::$server, self::$port, array('uidReferencing' => true)); $imap->authenticate(self::$user, self::$password); $imap->selectMailbox('inbox'); try { $set = $imap->fetchFromOffset(0, 2); $this->fail('Expected exception was not thrown.'); } catch (ezcMailOffsetOutOfRangeException $e) { $this->assertEquals("The offset '0' is outside of the message subset '0', '2'.", $e->getMessage()); } }
$imap->status($num, $size, $recent, $unseen); // Get the list of message numbers on the server and their sizes // the returned array is something like: array( 1 => 1500, 2 => 45200 ) // where the key is a message number and the value is the message size $messages = $imap->listMessages(); // Get the list of message unique ids on the server and their sizes // the returned array is something like: array( 1 => '15', 2 => '16' ) // where the key is an message number and the value is the message unique id $messages = $imap->listUniqueIdentifiers(); // Usually you will call one of these fetch functions: // Fetch all messages on the server $set = $imap->fetchAll(); // Fetch one message from the server (here: get the message no. 2) $set = $imap->fetchByMessageNr(2); // Fetch a range of messages from the server (here: get 4 messages starting from message no. 2) $set = $imap->fetchFromOffset(2, 4); // Fetch messages which have a certain flag // See the function description for a list of supported flags $set = $imap->fetchByFlag("DELETED"); // Fetch a range of messages sorted by Date // Use this to page through a mailbox // See the function description for a list of criterias and for how to sort ascending or descending $set = $imap->sortFromOffset(1, 10, "Date"); // Sort the specified messages by Date // See the function description for a list of criterias and for how to sort ascending or descending $set = $imap->sortMessages("1,2,3,4,5", "Date"); // Fetch messages which match the specified criteria. // See the section 6.4.4. of RFC 1730 or 2060 for a list of criterias // (http://www.faqs.org/rfcs/rfc1730.html) // The following example returns the messages flagged as SEEN and with // 'release' in their Subject