За последние 24 часа нас посетили 18168 программистов и 1700 роботов. Сейчас ищут 1697 программистов ...

Забрать почту с yandex по imap кроме папки INBOX

Тема в разделе "Работа с почтой", создана пользователем lex-romanow, 10 июн 2016.

  1. lex-romanow

    lex-romanow Активный пользователь

    С нами с:
    24 сен 2014
    Сообщения:
    50
    Симпатии:
    1
    Всем привет. Наконец удалось настроить скрипт для подключения, но пришлось на домен оформить не подписанный сертификат. Но это такое.

    Собственно код:

    Код (PHP):
    1. header("Content-Type: text/html; charset=utf-8");
    2.  
    3.  
    4. require_once("functions.php");
    5.  
    6. $mail_login  = "***@yandex.ru";
    7. $mail_password  = "***";
    8. $mail_imap     = "{imap.yandex.ua:143/imap/novalidate-cert}";
    9.  
    10. $connection = imap_open($mail_imap, $mail_login, $mail_password);
    11.  
    12. if(!$connection){
    13.    echo("Ошибка соединения с почтой - ".$mail_login);
    14.    exit;
    15. }else{
    16.    $msg_num = imap_num_msg($connection);
    17.    
    18.    $mails_data = array();
    19.    
    20.    for($i = 1; $i <= $msg_num; $i++){
    21.      $msg_header = imap_header($connection, $i);
    22.      
    23.      $mails_data[$i]["time"] = time($msg_header->MailDate);
    24.      $mails_data[$i]["date"] = $msg_header->MailDate;
    25.      
    26.      foreach($msg_header->from as $data){
    27.        $mails_data[$i]["from"] = $data->mailbox."@".$data->host;
    28.      }
    29.      
    30.      $mails_data[$i]["title"] = get_imap_title($msg_header->subject);
    31.      
    32.      $msg_structure = imap_fetchstructure($connection, $i);
    33.      $msg_body     = imap_fetchbody($connection, $i, 1);
    34.      $body       = "";
    35.      
    36.      $recursive_data = recursive_search($msg_structure);
    37.      
    38.      if($recursive_data["encoding"] == 0 || $recursive_data["encoding"] == 1){
    39.        $body = $msg_body;
    40.      }
    41.      
    42.      if($recursive_data["encoding"] == 4){
    43.        $body = structure_encoding($recursive_data["encoding"], $msg_body);
    44.      }
    45.      
    46.      if($recursive_data["encoding"] == 3){
    47.        $body = structure_encoding($recursive_data["encoding"], $msg_body);
    48.      }
    49.      
    50.      if($recursive_data["encoding"] == 2){
    51.        $body = structure_encoding($recursive_data["encoding"], $msg_body);
    52.      }
    53.      
    54.      if(!check_utf8($recursive_data["charset"])){
    55.        $body = convert_to_utf8($recursive_data["charset"], $msg_body);
    56.      }
    57.      
    58.      $mails_data[$i]["body"] = base64_encode($body);
    59.    }
    60. }
    61.  
    62. imap_close($connection);
    Почта выводится из папки INBOX. Как вывести из другой папки, допустим отправленные? Спасибо!
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    lex-romanow нравится это.
  3. lex-romanow

    lex-romanow Активный пользователь

    С нами с:
    24 сен 2014
    Сообщения:
    50
    Симпатии:
    1