Laravel Imap не может проверить, есть ли в письме вложение, если setFetchBody имеет значение false | setFetchAttachment не имеет никакого эффекта - PullRequest
0 голосов
/ 20 января 2020

Я использую laravel imap .

Я получаю письма из почтового ящика, который прекрасно работает.

Мне нужно отобразить информацию, есть ли в письмах вложения.

Для этого я использовал этот код, который РАБОТАЛ:

$aMessage = $selectedFolder->messages()->setFetchFlags(true)
->setFetchAttachment(true)->setFetchBody(true)->leaveUnread()->limit(40, $highest_page)->get();

Проблема заключается в времени загрузки были плохие Чтобы исправить это, я установил для setFetchBody значение false, что значительно улучшило время загрузки. В любом случае мне не нужно тело в обзоре:

$aMessage = $selectedFolder->messages()->setFetchFlags(true)
->setFetchAttachment(true)->setFetchBody(false)->leaveUnread()->limit(40, $highest_page)->get();

Теперь даже при использовании setFetchAttachment (true) информация о вложениях теряется. $oMessage->hasAttachments() всегда возвращает false.

Если я переключаю обратно setFetchBody на true, это работает.

setFetchAttachment, похоже, ничего не делает.

Что я делаю не так?

РЕДАКТИРОВАТЬ

Если информация о вложениях является частью тела, как я могу улучшить производительность? Веб-клиент как-то делает это и знает о вложениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...