AlternC/src/sendmail

53 lines
831 B
Plaintext
Raw Normal View History

#!/usr/bin/perl
# 1. On lit les en-t<>tes et on m<>morise l'<27>tat.
$fr="";
$rt="";
open(SM,"|/usr/sbin/sendmail -t -i -f '".@ARGV[0]."'");
chomp($A=<STDIN>);
while ($A ne "") {
print SM $A."\n";
if ($A=~/^From:(.*)/i) {
$fr=$1;
}
if ($A=~/^Reply-to:(.*)/i) {
$rt=$1;
}
chomp($A=<STDIN>);
}
$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=<STDIN>;
while ($A) {
print SM $A;
$A=<STDIN>;
}
close SM;