#!/usr/bin/perl

$mailprogram = "/usr/lib/sendmail -t > /dev/null";
#$mailprogram = "sendmail -t > nul";
if ($ARGV[0] eq "-1") {
   if (open(MAIL, "|".$mailprogram)) {
      print MAIL "To: ", $ARGV[1], "\n";
      print MAIL "From: SendSMS\n";
      print MAIL "Subject: Message not delivered\n\n";
      print MAIL "Your follwing message to ", $ARGV[2], " couldn't be delivered.\n\n";
      print MAIL $ARGV[3], "\n";
      close(MAIL);
   }
} elsif ($ARGV[0] eq "1") {
   if (open(MAIL, "|".$mailprogram)) {
      print MAIL "To: ", $ARGV[1], "\n";
      print MAIL "From: SendSMS\n";
      print MAIL "Subject: Message sent successfully\n\n";
      print MAIL "Your following message to ", $ARGV[2], " has been sent successfully.\n\n";
      print MAIL $ARGV[3], "\n";
      close(MAIL);
   }
} elsif ($ARGV[0] eq "2") {
   if (open(MAIL, "|".$mailprogram)) {
      print MAIL "To: ", $ARGV[2], "\n";
      print MAIL "From: SendSMS\n";
      print MAIL "Subject: Message received\n\n";
      print MAIL "The following message from ", $ARGV[1], " has been received.\n\n";
      print MAIL $ARGV[3], "\n";
      close(MAIL);
      if ("\L$ARGV[3]" eq "#!getdate()") {
         local($date);

         $date = scalar localtime;
         `sendsms -d$ARGV[5] $ARGV[1] \"$date\"`;
      } elsif ("\L$ARGV[3]" eq "#!hostname()") {
         local($host);

         $host = hostname();
         `sendsms -d$ARGV[5] $ARGV[1] \"$host\"`;
      }
   }
} elsif ($ARGV[0] eq "3") {
   if (open(MAIL, "|".$mailprogram)) {
      print MAIL "To: ", $ARGV[2], "\n";
      print MAIL "From: SendSMS\n";
      print MAIL "Subject: Status request\n\n";
      print MAIL "Status report for a message to ", $ARGV[1], " has been received.\n\n";
      print MAIL $ARGV[3], "\n";
      close(MAIL);
   }
} elsif ($ARGV[0] eq "4") {
   if (open(MAIL, "|".$mailprogram)) {
      print MAIL "To: ", $ARGV[2], "\n";
      print MAIL "From: SendSMS\n";
      print MAIL "Subject: Message deleted\n\n";
      print MAIL "Message for ", $ARGV[1], " has been deleted.\n\n";
      print MAIL $ARGV[3], "\n";
      close(MAIL);
   }
}
exit;
