[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