#!/usr/bin/perl -w # Using Perl 5.005_03 on RedHat 6.2 $MAILFILE1 = "/var/spool/mail/mbox1"; $MAILFILE2 = "/var/spool/mail/mbox2"; $MAILFILE3 = "/var/spool/mail/mbox3"; $current_size1 = (stat $MAILFILE1)[7]; $current_size2 = (stat $MAILFILE2)[7]; $current_size3 = (stat $MAILFILE3)[7]; for (;;) { $newsize1 = (stat $MAILFILE1)[7]; $newsize2 = (stat $MAILFILE2)[7]; $newsize3 = (stat $MAILFILE3)[7]; if ( $newsize1 > $current_size1 ) { notify("Email Notification", "Mailbox1"); $current_size1 = $newsize1; } elsif ( $newsize1 < $current_size1 ) { $$current_size1 = $newsize1; } if ( $newsize2 > $current_size2 ) { notify("Email Notification", "Mailbox2"); $current_size2 = $newsize2; } elsif ( $newsize2 < $current_size2 ) { $current_size2 = $newsize2; } if ( $newsize3 > $current_size3 ) { notify("Email Notification", "Mailbox3"); $current_size3 = $newsize3; } elsif ( $newsize3 < $current_size3 ) { $current_size3 = $newsize3; } sleep 30; } sub notify { $user = $_[1]; $purpose = $_[0]; if ( userisonline() ) { system "echo \'***** New mail has arrived for $user *****\' | write myusername"; } else { # email notice to 5140490@pager.icq.com open (SENDMAIL, "|/usr/sbin/sendmail -t") || OpenError("Sendmail"); print SENDMAIL "To: Name <5555555\@pager.icq.com>\n"; print SENDMAIL "From: $purpose \n"; print SENDMAIL "$purpose for $user\n\n"; close (SENDMAIL); } } sub userisonline { open (WHO, "who |"); while () { if ( $_ =~ /myusername/ ) { close (WHO); return 1; } } close (WHO); return 0; }