どうも
open(MAIL,"| $sendmail -t -f\"$from\"") || &error_exit("sendmailの起動に失敗しました");

とすると-fオプションが無視されてるっぽいんです…どこか間違っているのでしょうか?