【问题标题】:Getting only today's email with imap_search使用 imap_search 仅获取今天的电子邮件
【发布时间】:2015-02-28 10:28:18
【问题描述】:

我正在尝试使用 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]->date 精确格式化,以便 imap_search 找到它?当我搜索所有电子邮件并输出 $overview[0]->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.';
}

【问题讨论】:

标签: php imap gmail-imap


【解决方案1】:

imap_search 的有效日期将采用例如2012 年 7 月 22 日

【讨论】:

    猜你喜欢
    • 2021-02-03
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多