Cita:
Iniciado por franco190453
Neodani:
Muy interesante tu codigo y cuando se llega a los attachments, hay
sin lugar a dudas problema.
Como tu sabes hay los INLINE que son imagenes, por ejemplo,
que forman el cuerpo del mensaje; y estan los ATTACHMENTS que
son los adjuntos propiamente dicho.
Sin lugar a dudas con esta funcion ->
$mensajeadjunto = imap_fetchstructure($imap, $analisarcorreo);
es que se pueden sacar.
Aqui te pongo lo que yo hago para sacar los INLINE y los
ATTACHMENTS de un correo; me funciona con cualquier
cliente de correo y con gmail.com, hotmail.com, yahoo.com,
aol.com y mi servidor.
Claro esta es una fraccion del codigo y debes analizarla con cuidado y en base
a los relustados que muestras arriba y veras que con ambos clientes sale
como esperado.
Saludos
Franco
Buenas,
No acabo de entender el código ya que... entrará tantas veces en el if como partes tenga el correo.
Si mi variable $numparts es igual que tu $partesreales, la sacas de la misma forma?
$numparts = count($info->parts);
En el siguiente ejemplo, me dice que hay 2 adjuntos y en verdad hay uno. Pero como hay dos partes con tu fragmento de script detecta dos.
Código PHP:
stdClass Object
(
[type] => 1
[encoding] => 0
[ifsubtype] => 1
[subtype] => MIXED
[ifdescription] => 0
[ifid] => 0
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => BOUNDARY
[value] => =_49f16ff92b161073280b5c7e7d15eca6
)
)
[parts] => Array
(
[0] => stdClass Object
(
[type] => 0
[encoding] => 4
[ifsubtype] => 1
[subtype] => PLAIN
[ifdescription] => 0
[ifid] => 0
[lines] => 5
[bytes] => 60
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => CHARSET
[value] => utf-8
)
)
)
[1] => stdClass Object
(
[type] => 5
[encoding] => 3
[ifsubtype] => 1
[subtype] => PNG
[ifdescription] => 0
[ifid] => 0
[bytes] => 504
[ifdisposition] => 1
[disposition] => ATTACHMENT
[ifdparameters] => 1
[dparameters] => Array
(
[0] => stdClass Object
(
[attribute] => FILENAME
[value] => color-palet.PNG
)
)
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => NAME
[value] => color-palet.PNG
)
)
)
)
)
Un saludo,