Lee gmail de cualquier mailbox y señala si es importante el mensaje. Podéis votar si va bien o mal
Código PHP:
   // La dirección de correo electrónico y contraseña de Gmail
$username = '[email protected]';
$password = 'passs';
//recoger la variable de la carpeta ó asignar: {imap.gmail.com:993/imap/ssl}INBOX  donde INBOX, [Gmail]/Enviados, ETC..
$folder = $_GET['folder'];
// ¿Qué carpetas o la etiqueta que desea tener acceso ? - Ejemplo: INBOX, All Mail, Trash, labelname 
//Nota: es case sensitive
$imapmainbox = $folder;
echo $folder;
 
//Seleccionar messagestatus como ALL o UNSEEN 
$messagestatus = "ALL";
 
//-------------------------------------------------------------------
 
//Gmail Connection String
$imapaddress = $folder;
 
//Gmail host folder
$hostname = $folder;
 
//Abrir conexion
$connection = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
 
//Grabar los emails en el inbox
$emails = imap_search($connection,$messagestatus);
 
//numero de emails en el inbox
$totalemails = imap_num_msg($connection);
$max_emails = 5; 
echo "Total Emails: " . $totalemails . "<br>";
 
if($emails) {
  $count = 1;
  //ordenar emails: los nuevos primero
  rsort($emails);
 
  //loop de cada email en el inbox
  foreach($emails as $email_number) {
 
    //grabar headers y mensaje
    $header = imap_fetch_overview($connection,$email_number,0);
 
    // Porque los archivos adjuntos pueden ser problemáticas esta lógica es por defecto para saltarse los archivos adjuntos  
    $message = imap_fetchbody($connection,$email_number,1.1);
         if ($message == "") { //no hay archivos adjuntos es logico
          $message = imap_fetchbody($connection, $email_number, 1);
    }
 
    //split el header array en variables
   $status = ($header[0]->seen ? 'read' : 'unread');
   $priority = ($header[0]->flagged);
    $subject = $header[0]->subject;
    $from = $header[0]->from;
    $date = $header[0]->date;
    $uid = $header[0]->msgno;
 
    echo "status: " . $status . "<br>";
    echo "subject: " . $subject . "<br>";
    echo "from: " . $from . "<br>";
    echo "date: " . $date . "<br>";
    echo "date: " . $uid . "<br>";
    echo "priority: " . $priority . "<br>";
    echo "message: " . $message . "<br><hr><br>";
 
//Aquí es donde quieres empezar a analizar tus mensajes, enviar a una base de datos o cualquier acción .
  if($count++ >= $max_emails) break;
  }  
} else{echo "error";}
 
// cerrar la conexión
imap_close($connection); 
    
 

Este tema le ha gustado a 1 personas