[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