La méthode la plus simple et la plus rapide pour envoyer une pièce jointe consiste à encoder le fichier et à l'envoyer par courrier.
uuencode report.pdf report.pdf | mail -s "Here is the report" bossman@company.com
Si vous voulez le faire facilement et construire un message correctement encodé MIME, vous pouvez installer mutt, et utiliser le drapeau -a pour attacher votre message.
Si vous ne voulez pas installer autre chose, vous pouvez construire votre propre message MIME à la main, ou utiliser le module perl MIME::Entity pour vous aider :
#!/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;