Fqyeh29
@Fqyeh29
↓ ИМХО ↓

Функция imap_search часто не находит сообщения, что я делаю не так?

Код:

$this->mbox = @imap_open("{imap.yandex.ru:993/imap/ssl}INBOX", $login, $pwd);
$arr = imap_search($this->mbox,'UNSEEN FROM "' . $imap_search . '"  SUBJECT "'.$th.'"',SE_FREE,'UTF-8');
 var_dump($arr); // $arr= false

Т.е мне нужны непрочитанные сообщения от определенного отправителя и с определенной темой.

И я не могу понять в чем проблема, т.к если просто указать UNSEEN, то он их находит.
Если UNSEEN FROM ""то тут 50/50, иногда он их находит, а иногда false.
А вот если UNSEEN FROM "" SUBJECT "" тут чаще всего пришлет false.

Может сервер яндекса глючит, или я запросы не так составляю?..
  • Вопрос задан
  • 1235 просмотров
Пригласить эксперта
Ответы на вопрос 2
dmitriylanets
@dmitriylanets
веб-разработчик
На яндексе скорее всего кеш на поиске, который обновляется не так часто, поэтому письма он начинает видеть не сразу. Иногда находит иногда нет. Поэтому вообще отказался от функции imap_search и осуществляю поиск локально.
Ответ написан
Это проблема на стороне Яндекса.
У меня по запросу "UNSEEN TO test@test.ru" пусто.
При этом "UNSEEN" - есть письма, "TO test@test.ru" - в списке есть не прочитанные письма.

Пришлось перестроить логику работы, и забирать письма опираясь на "UNSEEN" - в этом случае не заметил, чтобы поиск кешировался.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы