我正在从Gmail获取电子邮件。 当我在日期之后使用PHP Imap搜索来自Gmail的最新电子邮件时 它给了我重复的结果或不准确。
我用于在日期时间之后获取下一条最新消息的代码示例。 我知道这些是时区问题。 我正在将数据存储在我的数据库中。
如何摆脱这些时区问题?
if($lastMsgTimeDate == '') {
$date = date("j F Y H:i:s");
}else{
$date = date("j F Y H:i:s", strtotime($lastMsgTimeDate));
}
$emails = imap_search($inbox,'since "'.$date.'"' );
答案 0 :(得分:1)
由于PHP使用不允许按时间搜索的IMAP2搜索工具,这可能会解决您的时区问题。
使用上一个UID而不是日期。
搜索所有最近的消息,如果它到达最后一个UID,则退出搜索