La forma más rápida y sucia de enviar un archivo adjunto es codificar el archivo y enviarlo por correo.
uuencode report.pdf report.pdf | mail -s "Here is the report" bossman@company.com
Si quieres hacerlo fácilmente y construir un mensaje codificado MIME adecuado, podrías instalar mutt, y usar la bandera -a para adjuntar tu mensaje.
Si no quieres instalar nada más, puedes construir tu propio mensaje MIME a mano, o utilizar el módulo MIME::Entity de perl para ayudarte:
#!/usr/bin/perl
use MIME::Entity;
$message = MIME::Entity->build(
Type => "multipart/mixed",
From => "me\\@company.com",
To => "bossman\\@company.com",
Subject => "Report attached" );
$message->attach(Data=>"Here is the report, as promised.");
$message->attach(
Path => "./report.pdf",
Type => "application/pdf",
Encoding => "base64");
open MAIL, "| /usr/sbin/sendmail -t -oi";
$message->print(\\\*MAIL);
close MAIL;