我正在为imap_fetch_overview的序列挣扎。邮件1是最旧或最新的邮件吗?如果新邮件到达它是否会获得更高的ID?
解决方案:
$check = imap_check($connection);
$result = array();
if($check->Nmsgs > 0){
$sort = imap_sort($connection, SORTARRIVAL, 0);
$msgs = '';
$i = 1;
foreach($sort as $id)
{
if($i > 200) break;
$msgs = $msgs . $id . ',';
$i++;
}
$response = imap_fetch_overview($connection, rtrim($msgs,','));
foreach ($response as $msg){
$result[] = $msg;
}
}
答案 0 :(得分:1)
对于问题的第二部分,
请参阅此RFC。
每封邮件都有不同的ID,但没有更高或更低。它只是随机选择但是很独特。
对于问题的第一部分,
如果您要查找最旧或最新的邮件,则必须使用date
方法,例如:
$overview = imap_fetch_overview($connection,$email_number,0);
echo $overview[0]->date;
然后使用返回日期比较这些邮件。