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);
Código PHP:
imap_fetchbody($mbox, trim($_GET["id"]), "1.2")
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--
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!