#!/usr/bin/perl # 1. On lit les en-têtes et on mémorise l'état. $fr=""; $rt=""; open(SM,"|/usr/sbin/sendmail -t -i -f '".@ARGV[0]."'"); chomp($A=); while ($A ne "") { print SM $A."\n"; if ($A=~/^From:(.*)/i) { $fr=$1; } if ($A=~/^Reply-to:(.*)/i) { $rt=$1; } chomp($A=); } $home=quotemeta $ENV{'ALTERNC_HTML'}; $ENV{'PWD'}=~/^$home\/.\/([^\/]*)/; $user=$1; if (!$fr) { if (!$rt) { print SM "From: ".$user."\n"; } else { print SM "From: $rt\n"; print SM "X-RealFrom: ".$user."\n"; } } else { if (!$rt) { print SM "Reply-To: $fr\n"; } print SM "X-RealFrom: ".$user."\n"; } # 3. On ajoute la fameuse ligne vide :) print SM "\n"; # 4. Et on repasse la suite sans traitement (cat) $A=; while ($A) { print SM $A; $A=; } close SM;