sub AlertByMail ($;$) { my ( $self, $mailprog, $msg ) = @_; warn('usage: $handler->AlertByMail($mailprog,$mail)') if $Cgi::Log::WARN and ref($self) ne __PACKAGE__; foreach my $mp ( $mailprog, '/bin/sendmail', '/usr/bin/sendmail', '/usr/sbin/sendmail', '/usr/lib/sendmail' ) { if (-x $mp) { $mailprog = $mp; last; } } if ( ! -x $mailprog ) { $self->LogError("$mailprog: no mailsending program found"); return; } if ( open( my $mh, "| $mailprog -t -oi" ) ) { print $mh "$msg" or do { $self->LogError("$mailprog: Mail can not be sent"); return; }; close( $mh ) or do { $self->LogError("$mailprog: Mail queue can not be closed $? # $!"); #$self->LogError("$mailprog: Mail queue can not be closed"); return; }; } else { $self->LogError("$mailprog: Mail queue can not be opened"); return; } return 1; }