[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: [Ayuda] [Ayuda]Archivos adjuntos desde mailto



Max Valdez dijo [Mon, Nov 08, 2004 at 12:34:25PM -0600]:
> On Monday 08 November 2004 12:05 pm, Marcos R Garcia wrote:
> > Hola lista!
> > Alguno de ustedes sabe como generar un correo desde HTML que incluya
> > archivos adjuntos? Estamos generando una aplicación de PHP que debe
> > enviar una propuesta con texto e imagenes, las cuales son editadas por
> > el usuario previamente al deseado envio.
> 
> Este correo podria parecer dañado para algun lector, lo estoy mandando como me 
> salio, pero como estoy agregando un "attach" escrito, podria ser confundido.

Espero que no sea el caso, porque el buscar información de encabezados
a la mitad del texto del correo no pinta como una buena estrategia :-) 

> En los headers tienes que poner algo asi: 
>   Content-Type: MULTIPART/MIXED;
>   BOUNDARY="-627829212-10853229-1099588709=:6251"
> 
> y luego especificar lo referente al archivo as:
> ---627829212-10853229-1099588709=:6251
> Content-Type: APPLICATION/text/plain; name="archivo.txt"
> Content-Transfer-Encoding: BASE64
> Content-ID: <Pine LNX 4 44 0411041118290 6251 en mail com mx>
> Content-Description: carta
> Content-Disposition: attachment; filename="archivo.txt"
> .......
> .......Aqui va el archivo
> ......
> ---627829212-10853229-1099588709=:6251--

Sí, solución correcta, pero no óptima. Al enviar un cacho de texto
adjunto, esto puede ser suficiente. Ahora, si vas a enviar un mensaje
con binarios adjuntos tienes que chutarte la codificación al formato
que gustes, si eres más viejito puede sonar buena idea usar uuencode
(¿cuántos de ustedes lo usaron? ;-) ), pero para cualquier cosa hoy en
día usarás algún MIME (como Base64). Y si bien puedes aventarte la
rutinita, ¿por qué no darle todo a un pedacito de código ya conocido y
comprobado?

Usa el módulo de Perl MIME::Lite - muy simple y suficientemente
completo para casi cualquier uso. De su documentación:


           ### Create a new multipart message:
           $msg = MIME::Lite->new(
                        From    =>'me en myhost com',
                        To      =>'you en yourhost com',
                        Cc      =>'some en other com, some en more com',
                        Subject =>'A message with 2 parts...',
                        Type    =>'multipart/mixed'
                        );

           ### Add parts (each "attach" has same arguments as "new"):
           $msg->attach(Type     =>'TEXT',
                        Data     =>"Here's the GIF file you wanted"
                        );
           $msg->attach(Type     =>'image/gif',
                        Path     =>'aaa000123.gif',
                        Filename =>'logo.gif',
                        Disposition => 'attachment'
                        );

Así de simple.

Saludos,

-- 
Gunnar Wolf - gwolf en gwolf org - (+52-55)1451-2244 / 5554-9450
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF





[Hilos de Discusión] [Fecha] [Tema] [Autor]