Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] imap_body() siempre devuelve el mismo mensaje!

Estas en el tema de imap_body() siempre devuelve el mismo mensaje! en el foro de PHP en Foros del Web. Hola Necesito recuperar información de los emails de mi buzón de entrada GMAIL. El código que les pongo a continuación lo hace casi todo bien. ...
  #1 (permalink)  
Antiguo 25/11/2015, 14:46
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Pregunta imap_body() siempre devuelve el mismo mensaje!

Hola

Necesito recuperar información de los emails de mi buzón de entrada GMAIL.
El código que les pongo a continuación lo hace casi todo bien. Excepto por una cosa. El último foreach debería mostrar en pantalla 3 cosas:
  1. El subject
  2. El email del remitente, y
  3. El cuerpo del mensaje

Por alguna extraña razón en pantalla se muestran el SUBJECT y el EMAIL de cada uno de los mensajes dentro del inbox. Pero el cuerpo del mensaje siempre se muestra el mismo, que es el último, o sea, el último que llegó al correo. Es decir, no aparece el mensaje de cada uno de los emails.

¿Cómo solucionar esto?


Código PHP:
Ver original
  1. $arrayDeEmails = imap_search($conexionIMAP, "SUBJECT \"$asunto\" FROM \"$remitente\"", SE_UID);
  2.  
  3. if($arrayDeEmails) {
  4.     foreach($arrayDeEmails as $correo) {
  5.         $cabeceras       = imap_headerinfo($conexionIMAP, $correo);
  6.         $overview        = imap_fetch_overview($conexionIMAP, $correo, 0);
  7.         $emailRemitente  = $cabeceras->from[0]->mailbox . "@" . $cabeceras->from[0]->host;
  8.         // $mensajeCompleto = imap_qprint(imap_body($conexionIMAP, $numeroDeMensajes));
  9.         $mensajeCompleto = imap_body($conexionIMAP, $numeroDeMensajes);
  10.  
  11.         $output  = $correo;
  12.         $output .= $overview[0]->subject;
  13.         $output .= $emailRemitente;
  14.  
  15.         echo $output;
  16.         include("includes/parsear-html-4.php");
  17.  
  18.     }
  19. }
  20. else {
  21.     // echo "ERROR! Imposible leer array de emails de la bandeja de entrada.";
  22. }


Saludos!

Última edición por berkeleyPunk; 25/11/2015 a las 14:54
  #2 (permalink)  
Antiguo 25/11/2015, 14:58
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Respuesta: imap_body() siempre devuelve el mismo mensaje!

I am a fool!

Me respondo a mí mismo, justo al postear esto y editar el código para mostrárselo a ustedes, me di cuenta del error!

En la línea:
Código PHP:
 $mensajeCompleto imap_body($conexionIMAP$numeroDeMensajes); 
Nunca cambié la variable $numeroDeMensajes por la de $correo, que es la que contiene el índice actual de la iteración actual.


Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:07.