[Php-avanzado] Gestor de Correo
Fernando Pehuén Borsani
fpborsani en yahoo.com.ar
Jue Jun 19 17:22:57 ART 2014
Después de leer el mensaje de Leandro quite todo el descriptor y anda bárbaro, pero todavía no le había contado los resultados.
Me encantaría mandarte documentación, pero el problema es que no encontré, por eso recurrí a ustedes.
Lo que estoy haciendo es tener una cuenta a la que le llegan correos desde distintos servicios y voy configurándolos según como son cada uno, porque la verdad difieren bastante. Por ejemplo Yahoo usa ISO 8859-1, pero Gmail usa UTF-8. Yahoo usa Quoted printable, pero Gmail usa base64 (quizás esté relacionado a lo anterior, no lo sé). También cambian los datos en las cabeceras, Yahoo te codifica el personal y Gmail el fetchsubject, no todos usan from, response to y sender, etc, así que estoy utilizando una pequeña muestra para tener un sistema que pueda mostrar la info siempre.
Gracias a los tres por las respuestas!!!
-----Mensaje original-----
De: Php-avanzado [mailto:php-avanzado-bounces en pato2.fi.mdp.edu.ar] En nombre de Leonardo Tadei - Pegasus Tech Supply
Enviado el: jueves, 19 de junio de 2014 04:43 p.m.
Para: Lista del curso de PHP Avanzado
Asunto: Re: [Php-avanzado] Gestor de Correo
Hola Pehuén,
Leandro anda cerca de la solución: hay que sacarle el descriptor de codificación entero, en este caso:
?UTF-8?B?
Es decir, la cadena a decodificar queda:
=VSBsYSBsYSBsw6Egw6HDqcK0csK0dMO9w7rDuiEiwrchIsK3JCQlUlkvJg==?=
y en texto en claro:
U la la lá áé´r´týúú!"·!"·$$%RY/&
Posiblemente el asunto se acabe en el ·, pero esto lo sabrás vos según el asunto de pruebas que estés usando.
Me llama muchísimo la atención que el _asunto_ vaya codificado como base64... cómo corno se señala esto en el e-mail? Porque existen señalizaciones para cada parte de un cuerpo multipart, pero de asuntos, no recuerdo haberlo visto antes.
Me mandás documentación al respecto?
Saludos!
El jue, 19-06-2014 a las 14:04 -0300, leandro saubiette escribió:
> No le tendras que sacar la parte de la codificacion utf? Osea
> solamente deseincriptar desde el segundo signo de pregunta en
> adelante.
> Saludos
>
> El 19/06/2014 13:22, "Fernando Pehuén Borsani"
> <fpborsani en yahoo.com.ar> escribió:
> Hola! Estoy integrando un gestor de correo a la web de un
> cliente, y me encuentro con un problema.
>
>
>
> Gmail codifica sus correos en base 64. Uso la función
> imap_base64 para decodificar el cuerpo del mail y mostrarlo
> correctamente.
>
>
>
> El problema es cuando quiero hacer lo mismo con el asunto del
> correo: no obtengo salida.
>
>
>
> Código:
>
>
>
> //capto la cabecera del correo
>
> $cabeza = imap_headerinfo ($mbox, 1, 50 , 100);
>
>
>
> //almaceno el asunto del correo
>
> $asunto = $cabeza->fetchsubject;
>
>
>
> //lo muestro tal cual viene.
>
> var_dump($asunto);
>
> //salida: string
>
> '=?UTF-8?B?VSBsYSBsYSBsw6Egw6HDqcK0csK0dMO9w7rDuiEiwrchIsK3JCQlUlkvJg=
> =?=' (length=72)
>
>
>
> //si lo quiero acomodar:
>
> $asunto = imap_base64($asunto);
>
> var_dump($asunto);
>
> //obtengo: boolean false
>
>
>
> ¿Qué estoy haciendo mal?
>
> ¿Cuál es la forma correcta de hacerlo?
>
> En esencia…. ¡HELP!
>
>
>
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web:
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar Administración
> Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
_______________________________________________
Lista de correo: Php-avanzado
Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
Más información sobre la lista de distribución Php-avanzado