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);