Buenas,
Soy bastante nuevo en Php, puesto que vengo de .net así que estoy bastante perdido intentado leer un email mediante php.
El tema es que ya he conseguido sacar el listado y consultar el mailbox (POP3), pero ahora quiero intentar leer el body del email, con sus adjuntos y demás, pero solo he conseguido leerlo en texto plano y me gustaría que el mensaje tuviese el aspecto original.
Me estoy fijando en esta función para ello
http://es.php.net/manual/es/function.imap-fetchbody.php
El código que tengo echo es este:
Código PHP:
$mbox = conectabuzon(); // Esta función conecta al buzón
$structure = imap_fetchstructure($mbox,trim($_GET["id"]));
if($structure->type == 1)
{
// YES
echo nl2br(utf8_encode(imap_fetchbody($mbox, trim($_GET["id"]), "1.2")));
} else {
// NO
echo nl2br(utf8_encode(imap_fetchbody($mbox, trim($_GET["id"]), "1")));
}
@imap_close($mbox);
Uno de los problemas que tengo es que esta línea:
Código PHP:
imap_fetchbody($mbox, trim($_GET["id"]), "1.2")
Muchas veces no me devuelve el body del mensaje y otras sí, no sé porque.
He estado ojeando los ejemplos de la página oficial de php, pero sinceramente, no me aclaro nada... e visto funciones para sacar un array con los tipos de adjunto que tiene el mensaje, y demás, pero no sé combinarlas...
Este correo sí me da respuesta con la opción "1.2", pero no sé "despiezarlo ahora":
Código PHP:
--------------090205000809040705040901
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Dentro y fuera...
--
cid:part1.08010809.00030602@dominio.com <-- Esto se supone que es la imagen adjunta en el email
--------------090205000809040705040901
Content-Type: image/jpeg;
name="firma.jpg"
Content-Transfer-Encoding: base64
Content-ID:
Content-Disposition: inline;
filename="firma.jpg"
/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVj.....
Todo lo de arriba es el código del adjunto, que es una imagen de autofirma... (firma.jpg), no lo pongo todo porque es mucho código binario...
--------------090205000809040705040901--
Por ejemplo en ese caso, el email tiene una imagen adjunta en el cuerpo, pero no sé tampoco averiguar cuales son las adjuntas en el body y cuales son los attachment separados...
Espero que me haya explicado bien porque esto me está mareando demasiado ya, a ver si algun alma caritativa puede darme una mano y enseñarme como lo tengo que hacer.
Mil gracias!