只使用imap_search获取今天的电子邮件

时间:2015-01-02 01:02:41

标签: php imap gmail-imap

我试图使用imap_search根据今天的当前日期抓取我的所有Gmail电子邮件,但我似乎无法获得任何结果。我确保用date_default_timezone_set设置我的时区,所以我相信这不是问题。

$mailConn = imap_open('{imap.gmail.com:993/imap/ssl}INBOX', $mailUser, $mailPass);
$search = 'ON ' . date('D, j M Y'); // search for today's email only
$emails = imap_search($mailConn, $search);
echo $search . '<br><br><br>'; // echoes ON Thu, 1 Jan 2015

if ($emails) {
    foreach ($emails as $emailID) {
        $overview = imap_fetch_overview($mailConn, $emailID, 0);
        echo $overview[0]->subject . ' - ' . $overview[0]->date . '<br><br><br>';
    }
} else {
    echo 'No emails found.';
}

日期是否需要根据$ overview [0] - &gt;日期进行精确格式化以便imap_search找到它?当我搜索所有电子邮件并输出$ overview [0] - &gt; date这就是我得到的。

$mailConn = imap_open('{imap.gmail.com:993/imap/ssl}INBOX', $mailUser, $mailPass);
$search = 'ALL'; // search for all email
$emails = imap_search($mailConn, $search);
if ($emails) {
    foreach ($emails as $emailID) {
        $overview = imap_fetch_overview($mailConn, $emailID, 0);
        echo $overview[0]->date . '<br><br><br>'; // echoes Thu, 1 Jan 2015 13:52:23 -0500
    }
} else {
    echo 'No emails found.';
}

1 个答案:

答案 0 :(得分:0)

imap_search的有效日期将采用例如22-JUL-2012