Я использую библиотеку ниже в моем файле composer.json
"php-imap/php-imap": "3.0.*",
Мой код ниже,
$folder['shortpath']="Inbox";
new \PhpImap\Mailbox('{'.$mdata["server"].":993/imap/ssl}". $folder['shortpath'], $mdata["user"], $mdata["pass"], $dir);
$mailsIds = $mailbox->searchMailbox($mailbox, 'SINCE "01 December 2018"');
echo"<pre>";print_r($mailsIds);die;
Это дает мне пустой массив вместо значения UIDs
У меня всего 4 электронных письма после 1 декабря
Если я использую указанный ниже код,
$mailsIds = $mailbox->searchMailbox("ALL");
echo"<pre>";print_r($mailsIds);die;
, тогда я получаю все электронные письма до даты в папке входящих сообщений
, нодата поиска не работает
если я напишу ниже код, то выдает ошибку:
$mailsIds = $mailbox->searchMailbox('SINCE 01 December 2018');
ОШИБКА:
IMAP method imap_search() failed with error: Unknown search criterion: SINCE 2018-12-06 09:32:32←
Я нашелмое решение, как показано ниже, работает для меня,
У меня есть userd
mailsIds = $mailbox->searchMailbox('SINCE "01 December 2018"');
, но при открытом соединении передайте еще один аргумент для "US-ASCII"
new \PhpImap\Mailbox('{'.$mdata["server"].":993/imap/ssl}".
$folder['shortpath'], $mdata["user"], $mdata["pass"], $dir, "US-ASCII");
Но другой мой вопрос: он дает мне список новых сообщений, основанных на указанной дате,
Мне потребовались все электронные письма с обновлениями, такие как новая почта, пометить как непрочитанные, помеченные, не помеченные и т.д. с указанной даты.,Как этого добиться ??
Означает, как идентифицировать новые электронные письма и любые действия с существующими электронными письмами до указанной даты