[Ayuda] [Ayuda]Archivos adjuntos desde mailto

Gunnar Wolf gwolf en gwolf.org
Lun Nov 8 22:13:42 CST 2004


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


 
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Para salir de la lista: http://mail.linux.org.mx/cgi-bin/mailman/listinfo/ayuda/



Más información sobre la lista de distribución Ayuda