Webklex/laravel-imap: пометка электронной почты как SEEN не работаетPhp

Кемеровские программисты php общаются здесь
Ответить
Гость
 Webklex/laravel-imap: пометка электронной почты как SEEN не работает

Сообщение Гость »


Я ожидал, что следующий код пометит обработанные сообщения как «Просмотренные» (прочитанные) в почтовом ящике сервера, но, похоже, этого не произошло. Я что-то упускаю из виду? (Я использую устаревший протокол IMAP и использую метод удаления).

Документация PHP-IMAP

$cm = новый ClientManager(Config::get('imap')); пытаться { $client = $cm->make([ 'хост' => $mailBox['хост'], 'порт' => $mailBox['порт'], 'шифрование' => ложь, 'validate_cert' => ложь, 'имя пользователя' => $mailBox['имя пользователя'], 'пароль' => $mailBox['пароль'], 'протокол' => 'устаревший-imap' ]); $клиент->connect(); } catch (\Exception $e) { выход('не удалось подключиться'); } //получить невидимые сообщения из папки «Входящие» $folder = $client->getFolder('INBOX'); $query = $folder->messages()->unseen(); //обработка сообщений $messages = $query->get(); if ($messages->total() > 0) { foreach ($messages как $message) { $message->setFlag('просмотрено'); //это не имеет никакого эффекта $messageId = $message->getMessageId()->offsetGet(0); $messageBody = $message->getTextBody();//$message->getHTMLBody(); ......//остальная часть кода } } $клиент->удалить(); $клиент->отключить(); обратите внимание, что приведенное ниже (с использованием встроенных функций PHP напрямую) работает так, как ожидалось:
$imapStream = imap_open("{".$mailBox['hostname'].":".$mailBox['port']."/imap/novalidate-cert}INBOX", $mailBox[' имя пользователя'], $mailBox['пароль']); $unseenEmails = imap_search($imapStream, 'UNSEEN'); если ($unseenEmails) { foreach ($unseenEmails как $emailUid) { // Отмечаем письмо как прочитанное (просмотренное) imap_setflag_full($imapStream, $emailUid, "\\Seen"); } } imap_close ($ imapStream);
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»