Как сделать так, чтобы электронное письмо, увиденное в PHP (Yii1) с IMAP, не менялось на «увиденное» автоматически каждый раз, когда я его вижу? - PullRequest
0 голосов
/ 04 января 2019

Каждый раз, когда я запускаю свою функцию и загружаю свой индекс, таблица с моими электронными письмами появляется вместе с новыми письмами, но каждый раз, когда я вижу электронное письмо, в gmail это письмо меняется на «прочитанное» или «увиденное», а затем оно не появляется.

Моя функция:

открытая функция actionLeerCorreo () {

        set_time_limit(4000); 

        // Connect to gmail
        $imapPath = '{imap.gmail.com:993/imap/ssl}INBOX';
        $username = 'mesa.ayuda@gmail.com';
        $password = 'mesaayuda';

        // try to connect 
        $inbox = imap_open($imapPath,$username,$password) or die('No se puede conectar a Gmail: ' . imap_last_error());

        $emails = imap_search($inbox,'UNSEEN');

        echo '<table class="table table-dark">';
        echo '<thead>';
        echo '<tr>';
        echo '<th scope="col">Subject</th>';
        echo '<th scope="col">Email</th>';
        //echo '<th scope="col">From adress</th>';
        echo '<th scope="col">Message</th>';
        echo '<th scope="col">Date</th>';
        echo '<th scope="col"> </th>';
        echo '</tr>';
        echo '</thead>';
        $mensaje = '';

        if($emails){
        rsort($emails); 
        foreach($emails as $mail) {
            //$status = imap_setflag_full($inbox, $mail, '\\SEEN', 0);
            //$status = $mail->SetMailFlag($inbox, $mail, '\\SEEN', 0);
            imap_clearflag_full($inbox, $mail, "\\Unseen", 0); 
            $headerInfo = imap_headerinfo($inbox,$mail);
            //$status = imap_setflag_full($inbox, $mail, "\\Unseen", ST_UID);
            $emailStructure = imap_fetchstructure($inbox,$mail);
            //$mensaje .= imap_body($inbox, $mail, FT_PEEK); 
            $mensaje = imap_fetchbody($inbox,$mail,2);

            $fecha = date("Y-m-d H:i:s", strtotime($headerInfo->date));
            $asunto = $headerInfo->subject;
            $correo = $headerInfo->fromaddress;

            echo '<tr>';
                  echo '<td>'.$subject.'</td>';
                  echo '<td>'.$fromadress.'</td>';
                  echo '<td>'.$message.'</td>';
                  echo '<td>'.$date.'</td>';

            }
        }
          echo '</table>';

        // colse the connection
        imap_expunge($inbox);
        imap_close($inbox);

        $this->renderPartial('email');

}

Пожалуйста, помогите мне: (

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