【发布时间】:2023-03-25 07:00:01
【问题描述】:
我试图仅显示最近 5 分钟内收到的电子邮件,例如:
$since = date('d-M-Y G\:i', time() - 300); // current time - 5 min
$mb = imap_search ($m_mail, 'UNSEEN SINCE ' . $since . '');
有没有简单的方法来做到这一点?我找到了一种方法:获取当天(例如:2010 年 5 月 9 日)所有看不见的邮件,循环浏览这些电子邮件,然后检查是否在最后 X 分钟内发送了任何邮件。如果是这样,请回显它(使用 imap_headerinfo->udate )。
但是,当我查看 gmail.com 时,在 17:08 收到了一封电子邮件,而在我的服务器上,这封电子邮件似乎是在 14:08 收到的
更新:我解决了问题,它显示电子邮件是在 17:04 在 gmail.com 中发送的,而在我的应用程序中显示的是 14:04。我将全球服务器时区更改为 GMT +0 并设置应用程序时区。现在它正确显示了我的时间,但我仍然不知道如何以更短的方式获取最近 X 时间内收到的电子邮件。
【问题讨论】: