#!/usr/local/bin/perl
#
# filter $h $f $u
#	$h	mailer argument(usually hostname)
#	$f	sender(or $g)
#	$u	user list
#
# external mailer filter			1996.02.15 23:00

$opt = shift;
$src = shift;
@dst = @ARGV;
$mail = "/usr/lib/sendmail";
$norm = "-C/etc/sendmail/nofilter.cf";

if( $src =~ /^(.*)\.ERROR/ ){
	$errorto = $1;
	$cause = "Sender permission denied: $1\n";
} else {
	$errorto = $src;
}
foreach ( @dst ){
	if( /^(.*)\.ERROR/ ){
		$cause = "Recepient permission denied: $_\n";
		next;
	}
	$dst .= " $_";
}

if( $cause ne "" ){
	open( MAIL, "|$mail -f'MAILER-DAEMON' $norm $errorto");
	print MAIL <<ERRORMAIL
From: postmaster
To: $errorto
Subject: error mail

$cause

begin meessage header ...

ERRORMAIL
;
	while(<STDIN>){
		last if /^$/;
		print MAIL:
	}
}

if( $dst ne "" ){
	open( MAIL, "|$mail -f'$src' $norm $dst");
	while(<STDIN>){
		print MAIL;
	}
}

