imap_open - вытащить письма из папки mail.ru или сделать поиск писем от кого FROM

StalkerClasses

Новичок
Написал следующий код, который позволяет прочитать заголовки писем что находятся в папке входящие mail.ru.

PHP:
$stream = imap_open('{imap.mail.ru:993/imap/ssl}', '[email protected]', 'pass') or die("can't connect: " . imap_last_error());
$mails_id = imap_search($stream, 'ALL');
    foreach ($mails_id as $num) {
        // Заголовок письма
        $header = imap_header($stream, $num);
        print "<pre>";
        print_r($header);
        print "</pre>";
        echo mb_decode_mimeheader($header->subject.'<br />');
    
        // Тело письма
        // $body = imap_body($imap, $num);
        // var_dump($body);
    }
Когда я его запускаю - то вижу список тем писем, которые есть в папке "входящие".
Но у многих папка входящие разбита на под папки - как от туда прочитать данные?

Либо же мне бы подошел вариант $mails_id = imap_search($stream, 'From "[email protected]"'); - но он упорно не хочет искать письма кроме как с пометкой ALL.
 

StalkerClasses

Новичок
Да списибо.
Смог решить с imap_list...

PHP:
    /*
    $list = imap_list($stream, "{imap.mail.ru}", "*");
if (is_array($list)) {
    foreach ($list as $val) {
        echo imap_utf7_decode($val) . "<br />";
    }
} else {
    echo "вызов imap_list завершился с ошибкой: " . imap_last_error() . "\n";
}
*/
Получил список папок - правда те, что на русском с кодировкой сложности...
 
Сверху