#  EmailAlert.pl
#  Example 5.7:
#  ----------------------------------------
#  From "Win32 Perl Scripting: Administrators Handbook" by Dave Roth
#  Published by New Riders Publishing.
#  ISBN # 1-57870-215-1
#
#  This script sends out email alerts.
#
print "From the book 'Win32 Perl Scripting: The Administrator's Handbook' by Dave Roth\n\n";


use Net::SMTP;
$Message = shift @ARGV;
SendAlert( $Message, @ARGV );

sub SendAlert
{
    my( $Message, @List ) = @_;
    
    foreach my $Recipient ( @List )
    {    
        my $Smtp;
        my( $Host ) = ( $Recipient =~ /\@(.*)/ );

        print "Sending message to $Recipient...";
        if( $Smtp = new Net::SMTP( $Host ) )
        {
            $Smtp->mail( "Perl Pager" );
            $Smtp->to( $Recipient );
            $Smtp->data();
            $Smtp->datasend( "To: $Recipient\n" );
            $Smtp->datasend( "Subject: ALERT\n" );
            $Smtp->datasend( "\n" );
            $Smtp->datasend( "$Message\n" );
            $Smtp->dataend();
            $Smtp->quit();
            print "successful";
        }
        else
        {
            print "failed";
        }
        print "\n";
    }    
}
