如何使用imap函数php获取最近的电子邮件?

如何使用imap函数php获取最近的电子邮件?,php,imap,Php,Imap,我试图获取电子邮件使用imap功能返回非常旧的电子邮件。下面的脚本我正在尝试 $imap = @imap_open("{mail.******.com:143/novalidate-cert}", $sEmail, $sPwd); $message_count = @imap_num_msg($imap); for ($m = 1; $m <= $message_count; ++$m){ $header = @imap_rfc822_parse_headers(

我试图获取电子邮件使用imap功能返回非常旧的电子邮件。下面的脚本我正在尝试

$imap = @imap_open("{mail.******.com:143/novalidate-cert}", $sEmail, $sPwd);
    $message_count = @imap_num_msg($imap);
    for ($m = 1; $m <= $message_count; ++$m){
     $header = @imap_rfc822_parse_headers(imap_fetchheader($imap, $m));
     $email[$m]['from'] = $header->from[0]->mailbox.'@'.$header->from[0]->host;
    }
$imap=@imap_open({mail.*****.com:143/novalidate cert},$sEmail,$sPwd);
$message\u count=@imap\u num\u msg($imap);
对于($m=1;$m来自[0]->mailbox.@.$header->from[0]->host;
}

目前上述功能以升序返回电子邮件,这就是为什么非常旧的电子邮件(2015年的电子邮件)会首先出现的原因。那么有没有办法先获取最新的电子邮件。

反向循环,从$message\u count开始,然后倒计时到1。您可以在此处进行计数:
($m=1;$m在我指出的代码块中,您的代码的行为是什么?在每次迭代中,
$m
会发生什么?在代码的这一部分:
for($m=1;$m编写
for
循环很难?好吧,看看这个答案-他们在那里使用的第一个选项: