Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/12/2013, 05:05
charlyta
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
número email de cada carpeta IMAP

Hola. Intento mostrar el número de emails de cada carpeta de gmail con IMAP. Hasta ahora puedo indicar la carpeta de una en una, pero quisiera hacer alguna iteración. Alguien me puede aconsejar?
Por ejemplo hacer un array con los valores [Gmail]/Enviados,[Gmail]/Todos etc... e incluirlos en un for. Cómo lo podría hacer?

Solucionado pero duplica los resultados

Código PHP:
Ver original
  1. $mbox = imap_open("{imap.gmail.com:993/imap/ssl}", "[email protected]", "password") or die("no se puede conectar: " . imap_last_error());
  2.  
  3. $server_array = array(
  4.         'server1' => '"imap.gmail.com:993/imap/ssl}[Gmail]/Enviados"',
  5.         'server2' => '"imap.gmail.com:993/imap/ssl}[Gmail]/Todos"'
  6. );
  7. $list = imap_list($mbox, "{imap.gmail.com:993/imap/ssl}", "*");
  8. if (is_array($list)) {
  9.     foreach ($list as $val) {
  10.    
  11.  
  12. foreach ($server_array as $k => $v) {
  13.     $valore = imap_status($mbox, $val, SA_ALL);
  14.     if ($valore) {
  15.   echo imap_utf7_decode($val)."Mensajes:    " . $valore->messages    . "<br />\n";;
  16. } else {
  17.   echo "imap_status failed: " . imap_last_error() . "\n";
  18. }
  19. }
  20. }
  21. }
  22. imap_close($mbox);

Última edición por charlyta; 26/12/2013 a las 06:17 Razón: mejora