 
			
				26/12/2013, 13:33
			
			
			     |  
      |    |    |    Fecha de Ingreso: junio-2008  
						Mensajes: 291
					  Antigüedad: 17 años, 4 meses Puntos: 9     |        |  
  |      Aporte: leer gmail con IMAP y marcar importante        No sé donde poner aportes. Lo siento. 
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); 
                 
					
						Última edición por charlyta; 26/12/2013 a las 15:49           |