bbsmail.in
上传用户:minyiyu
上传日期:2018-12-24
资源大小:864k
文件大小:2k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. #!@PERL@ -U
  2. # $Id: bbsmail.in,v 1.1 2000/01/15 01:45:41 edwardc Exp $
  3. $bbsuid=@BBSUID@;
  4. $bbsgid=@BBSGID@;
  5. $mail2bbs="@BBSHOME@/bin/mail2bbs";
  6. require "@BBSHOME@/bin/mailgate.pl";
  7. $)=$bbsgid;
  8. $(=$bbsgid;
  9. $<=$bbsuid;
  10. $>=$bbsuid;
  11. $ENV{'PATH'}='/bin:/usr/etc:/usr/local/bin:/usr/ucb';
  12. while ( $ARGV[0] =~ /^-/ ) {
  13. $_ = shift;
  14. if ( /^-d/ ) {
  15. $debug=1;
  16. }
  17. $normaluser = $ARGV[0];
  18. $logdir="/home/bbs";
  19. mkdir($logdir,0700) unless -d $logdir;
  20. open(LOG,">> $logdir/mail-log") || warn "can't open warn file $!n";
  21. print LOG "n";
  22. print "nMail to $normaluser n";
  23. print LOG "Mail to $normaluser n";
  24. &readmail;
  25. for ($n=0; $n < $MAILBODY; $n++) {
  26.         print LOG $MAIL[$n];
  27. }
  28. print LOG "'$Header{'From'}' '$normaluser'  '$Header{'Subject'}' '$Header{'Received'}' '$Header{'Reply-To'}' '$Header{'To'}'  n";
  29. open(BBSGATE,"| $mail2bbs '$Header{'From'}' '$normaluser'  '$Header{'Subject'}' '$Header{'Received'}' '$Header{'Reply-To'}' '$Header{'To'}' ");
  30. for ($n= $MAILBODY; $n <= $#MAIL; $n++) {
  31. print BBSGATE $MAIL[$n];
  32. }
  33. close(BBSGATE);
  34. if ($? ==0 ) {
  35.      print LOG "$Header{'From'} mail to $normaluser successfullyn";
  36.      print "$Header{'From'} mail to $normaluser successfullyn";
  37. } elsif ($? ==767 ) {
  38.      print LOG "$Header{'From'} mail to $normaluser failed, return code $?n";
  39.      print "$Header{From} mail to $normaluser failed, return code $?n";
  40.      close(LOG);
  41.      die "Shared memory errorn";
  42. } elsif ($? ==768 ) {
  43.      print LOG "$Header{'From'} mail to $normaluser failed, return code $?n";
  44.      print "$Header{From} mail to $normaluser failed, return code $?n";
  45.      close(LOG);
  46.      die "Service refusedn";
  47. } else {
  48.      print LOG "$Header{'From'} mail to $normaluser failed, return code $?n";
  49.      print "$Header{From} mail to $normaluser failed, return code $?n";
  50.      close(LOG);
  51.      die "BBS user $normaluser unknownn";
  52. }
  53. close(LOG);
  54. 0;