sortFromOffset() public method

This method supports unique IDs instead of message numbers. See {@link ezcMailImapTransportOptions} for how to enable unique IDs referencing. It is useful for paging through a mailbox. Fetches $count messages starting from the $offset and returns them as a {@link ezcMailImapSet}. If $count is is 0, it fetches all messages starting from the $offset. $sortCriteria is an email header like: Subject, To, From, Date, Sender, etc. 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( 'mailbox' ); // Inbox or another mailbox Fetch a range of messages sorted by Date $set = $imap->sortFromOffset( 1, 10, "Date" ); $set can be parsed with ezcMailParser
public sortFromOffset ( integer $offset, integer $count, string $sortCriteria, boolean $reverse = false ) : ezcMailImapSet
$offset integer
$count integer
$sortCriteria string
$reverse boolean
return ezcMailImapSet
 public function testUidSortFromOffsetByDateReverse()
 {
     $imap = new ezcMailImapTransport(self::$server, self::$port, array('uidReferencing' => true));
     $imap->authenticate(self::$user, self::$password);
     $imap->selectMailbox("Inbox");
     $set = $imap->sortFromOffset(self::$ids[0], 4, 'date', true);
     $parser = new ezcMailParser();
     $mail = $parser->parseMail($set);
     $this->assertEquals(4, count($mail));
     $this->assertEquals("pine: test 2 with 8bit norwegian chars", $mail[1]->subject);
     $this->assertEquals("pine: Mail with attachment", $mail[2]->subject);
     $this->assertEquals("pine: test 3 with norwegian chars", $mail[0]->subject);
     $this->assertEquals("pine: Mail with attachment", $mail[3]->subject);
 }
示例#2
0
// 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
$set = $imap->searchMailbox('SEEN SUBJECT "release"');
// Delete a message from the server (message is not physically deleted, but it's
// list of flags get the "Deleted" flag.
$imap->delete(1);
// Use this to permanently delete the messages flagged with "Deleted"
$imap->expunge();
// Use this to keep the connection alive