我正在使用imap_search来检索邮箱中的所有电子邮件。
见:http://php.net/manual/en/function.imap-search.php
是否可以安全地假设imap_search()检索按日期排序的电子邮件,最早的?我的测试看起来确实如此,但我找不到任何关于实际订购的文档。
如果按日期排序,则可以使用array_reverse()和array_splice()来获取最新的10个左右。
示例代码:
<?php
$conn = imap_open('{imap.example.com:993/imap/ssl}INBOX', '[email protected]', 'pass123', OP_READONLY);
$msgnos = imap_search($conn, 'ALL');
?>
而不是假设文档中未指定的顺序,因此可能在任何版本中更改,请对其进行排序:
imap_sort ( resource $imap_stream , int $criteria , int $reverse [, int $options = 0 [, string $search_criteria = NULL [, string $charset = NULL ]]] ) : array
按给定参数获取和排序消息编号。
它甚至需要search_criteria并允许您在同一个调用中将其反转。