Con PHP y la extensión IMAP, podemos recuperar nuestros mensajes de Gmail en cualquier momento. Leer los emails desde PHP es bastante sencillo, a continuación te dejo un código comentado para hacerlo:
Código para leer correos desde PHP
/* Datos para la conexión a gmail */ $hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; $username = '[email protected]'; $password = 'tucontraseña'; /* Intentamos la conexión */ $inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); /* Almacenamos los emails en variable $emails */ /* Esta línea nos trae todos los correos la dejo comentada por que lo mas probable es que te de error, si es que tienes muchos correos */ // $emails = imap_search($inbox,'ALL'); /* Esta línea trae solo los correos que no han sido leídos, puedes ver los diferentes criterios en la documentación de imap_search */ $emails = imap_search($inbox, 'UNSEEN'); /* Si hay correos, vamos a recorrer el arreglo... */ if($emails) { /* Inicializamos la variable de salida */ $output = ''; /* Ordenamos los correos electrónicos, los más recientes al comienzo */ rsort($emails); /* Recorremos el arreglo $emails y procesamos cada email... */ foreach($emails as $email_number) { /* Obtenemos la información específica de este correo electrónico */ $overview = imap_fetch_overview($inbox,$email_number,0); $message = imap_fetchbody($inbox,$email_number,2); /* Generamos la información del encabezado del correo electrónico */ $output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">'; $output.= '<span class="subject">'.$overview[0]->subject.'</span> '; $output.= '<span class="from">'.$overview[0]->from.'</span>'; $output.= '<span class="date">on '.$overview[0]->date.'</span>'; $output.= '</div>'; /* Generamos el cuerpo del correo electrónico */ $output.= '<div class="body">'.$message.'</div>'; } /* Mostramos la salida */ echo $output; } /* Cerramos la conexión */ imap_close($inbox);
Te dejo el link para ver todos los criterios de búsqueda de la función imap_search: https://www.php.net/manual/es/function.imap-search.php