我正在写一个小的imap课程,想要获取在过去一小时内收到的邮件,但无法找到解决方案。
我发现imap_search()
可能有效,但只适用于日期:
$date = date ( "d M Y", strToTime ( "- 1 days" ) );
$this->date = imap_search ( $connection, "SINCE \"$date\"");
做的时候
$date = date ( "d M Y h:i", strToTime ( "- 1 hours" ) );
$this->date = imap_search ( $connection, "SINCE \"$date\"");
它给我的检查结果与第一种方法相同,但不仅仅是在过去一小时内收到的消息。
的结果相同
g 12-hour format of an hour without leading zeros 1 through 12
G 24-hour format of an hour without leading zeros 0 through 23
h 12-hour format of an hour with leading zeros 01 through 12
H 24-hour format of an hour with leading zeros 00 through 23
i Minutes with leading zeros 00 to 59
s Seconds, with leading zeros 00 through 59
有人知道我能尝试什么吗?
答案 0 :(得分:2)
IMAP协议不支持基于时间的搜索,只需几天。
您可以进行基于日期的搜索,然后为这些搜索获取INTERNALDATE,然后选择您想要的内容。
或者,如果这是您每小时进行的一个过程,只需跟踪您拥有的最新消息的UID,然后获取具有更高UID的任何消息。