Я пытаюсь получить все свои электронные письма в Gmail на основе текущей даты, используя imap_search, но, похоже, не могу получить никаких результатов. Я удостоверился, что установил свой часовой пояс с 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.';
}
Должна ли дата быть точно отформатирована на основе $ review [0] -> date, чтобы imap_search мог ее найти? Когда я ищу все электронные письма и выводю $ review [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.';
}
Действительная дата для imap_search будет иметь вид, например, 22-Июль-2012
Других решений пока нет …