Intereting Posts
Получить родительский элемент через xpath и все дочерние элементы Пароль обновления для Laravel проходит проверку, но не обновляет запись php копирование элементов массива по значению, а не по ссылке mysqli подготовленный оператор – не обновлять значения NULL Предотвращение инъекции SQL с помощью PHP Сервер-отправленные события и php – что вызывает события на сервере? Подключение к Gmail через IMAP с использованием PHP-SSL Как различить пустую строку с нулевым размером в DOMDocument? Как получить переменную $ _SESSION в качестве параметра в событии onload Php: singleton VS полный статический класс? Когда используете что? Поля сущности Symfony2, относящиеся к другому объекту Заменить несколько заполнителей PHP? Создание списка ссылок с PHP Как проверить, действительно ли адрес электронной почты действителен или действителен с помощью PHP Проблема с разрешением загрузки PHP

Imap_search очень медленный

Я использую imap_search, чтобы получить список сообщений из моего INBOX. Мне нужны только электронные письма, отправленные с адреса, скажем, «somemail@gmail.com».

Я делаю:

$headers = imap_search($box,'FROM "somemail@gmail.com"', SE_UID);

Но это занимает очень много времени, около 3 минут, а в папке «Входящие» – только 700 писем (мой ящик GMAIL). Проблема не в сервере, потому что я установил roundcube в localhost и быстро загружаю электронные письма.

Что я могу сделать, чтобы сделать это быстрее?

Этот метод работал быстрее, чем imap_search для меня в прошлом:

 $stream = imap_open($mailbox,$username,$password); //imap_num_msg returns the number of messages in the current mailbox, as an integer, so .. $total_messages = imap_num_msg($stream); for ($message_number = 0; $message_number < $total_messages; $message_number++) { //get header $header = imap_header($stream, $message_number); if ($header === NULL) continue; //check from if($header->from == 'somemail@gmail.com') { // you found one so do something } }