debug('Пометка письма как прочитанного', [ 'message_id' => $message->getMessageId(), 'subject' => $message->getSubject(), ]); try { $message->setFlag('Seen'); Log::channel('email')->debug('Письмо помечено как прочитанное'); return true; } catch (\Exception $e) { Log::channel('email')->error('Ошибка пометки письма', [ 'error' => $e->getMessage(), ]); return false; } } /** * Пометить письмо как прочитанное и переместить в другую папку * * @param object $message IMAP сообщение * @param string $targetFolder Целевая папка * @return bool */ public function markAndMove(object $message, string $targetFolder): bool { Log::channel('email')->debug('Пометка и перемещение письма', [ 'message_id' => $message->getMessageId(), 'target_folder' => $targetFolder, ]); try { // Помечаем как прочитанное $message->setFlag('Seen'); // Перемещаем в другую папку $message->moveToFolder($targetFolder); Log::channel('email')->debug('Письмо обработано и перемещено', [ 'target_folder' => $targetFolder, ]); return true; } catch (\Exception $e) { Log::channel('email')->error('Ошибка обработки письма', [ 'error' => $e->getMessage(), ]); return false; } } }