#!/usr/bin/perl use Socket; $|=1; ################################################################## # birdcast.cgi Version 2.0 # updated May 2, 1999 # (C)1998, 1999 Bignosebird.com # This software is FREEWARE! Do with it as you wish. It is yours # to share and enjoy. Modify it, improve it, and have fun with it! # It is distributed strictly as a learning aid and bignosebird.com # disclaims all warranties- including but not limited to: # fitness for a particular purpose, merchantability, loss of # business, harm to your system, etc... ALWAYS BACK UP YOUR # SYSTEM BEFORE INSTALLING ANY SCRIPT OR PROGRAM FROM ANY # SOURCE! ################################################################## # CONFIGURATION NOTES # # $SCRIPT_NAME is the full URL of this script, including the # http part, ie, "http://domainname.com/cgi-bin/birdcast.cgi"; # # $SITE_NAME is the "name" of your web site. # $SITE_URL is the URL of your site (highest level) # $END_LINE is the very last line printed in the e-mail. # # $MAXNUM is the number of possible people a person can refer # your URL to at one time. If you call the script using the # GET method, then this is also the number of entry blanks # created for recipient names and addresses. # # $SMTP_SERVER is the name of your e-mail gateway server, or # SMTP host. On most systems, "localhost" will work just fine. # If not, change "localhost" to whatever your ISP's SMTP # server name is, ie, smtp.isp.net or mail.isp.net # $SEND_MAIL is the full path to your server's sendmail program # If you do not wish to use Sockets for some reason and need # to use sendmail, uncomment the $SEND_MAIL line and comment # the $SMTP_SERVER line. # okaydomains is a list of domains from which you want to allow # the script to be called from. Leave it commented to leave the # script unrestricted. If you choose to use it, be sure to list # your site URL with and without the www. # Use either $SMTP_SERVER $SMTP_SERVER="localhost"; # # OR # # $SEND_MAIL="/usr/lib/sendmail -t"; # # BUT NEVER BOTH!!!!!! # @okaydomains=("http://yourdomain.com", "http://www.yourdomain.com"); $SCRIPT_NAME="http://australian-images/cgi-bin/birdcast.cgi"; $SITE_NAME="Australian Images"; $SITE_URL="http://www.australian-images.com/"; $ENDLINE=""; $MAXNUM=5; $LOGFILE="reflog.txt"; if ($SENDMAIL ne "") {&test_sendmail;} &valid_page; #if script is called from offsite, bounce it! &decode_vars; if ( $ENV{'REQUEST_METHOD'} ne "POST") { &draw_request; exit; } &do_log; &process_mail; print "Location: $JUMP_TO\n\n"; ################################################################## sub process_mail { for ($i=1;$i<$MAXNUM+1;$i++) { $recipname="recipname_$i"; $recipemail="recipemail_$i"; if ($fields{$recipemail} eq "") { next; } if (&valid_address == 0) { next; } #BNB SAYS! You can modify the Subject line below. $subject = "Suggestion from $fields{'send_name'}"; #BNB SAYS! Modify the lines below between the lines marked # with __STOP_OF_MAIL__ to customize your e-mail message # DO NOT remove the lines that contain __STOP_OF_MAIL__! # If you enter any hardcoded e-mail addresses, BE SURE TO # put the backslash before the at sign, ie, me\@here.net $msgtxt = <<__STOP_OF_MAIL__; Hi $fields{$recipname}, $fields{'send_name'} visited $SITE_NAME and suggested that you visit the following URL: $JUMP_TO __STOP_OF_MAIL__ if ($fields{'message'} ne "") { $msgtxt .= "Here is their message....\n"; $msgtxt .= "$fields{'message'}\n\n"; } $msgtxt .= "$SITE_NAME\n"; $msgtxt .= "$ENDLINE\n"; $msgtxt .= "$SITE_URL\n\n"; $mailresult=&sendmail($fields{send_email}, $fields{send_email}, $fields{$recipemail}, $SMTP_SERVER, $subject, $msgtxt); if ($mailresult ne "1") {print "Content-type: text/html\n\n"; print "MAIL NOT SENT. SMTP ERROR: $mailresult\n"; exit } } } ################################################################## sub draw_request { print "Content-type: text/html\n\n"; #BNB SAYS! Here is the part that draws the page that asks the #reader to enter e-mail addresses and names. Tailor it to meet # your needs if necessary. DO NOT disturb the lines with # __REQUEST__ on them. print <<__REQUEST__;

SUGGEST THIS PAGE TO A FRIEND...

$ENV{'HTTP_REFERER'}

If you have a friend that you would like to recommend this page to, or if you just want to send yourself a reminder, here is the easy way to do it!

Simply fill in the e-mail address of the person(s) you wish to tell about $SITE_NAME, your name and e-mail address (so they do not think it is spam or reply to us with gracious thanks), and click the SEND button. If you want to, you can also enter a message that will be included on the e-mail.

After sending the e-mail, you will be transported back to the page you recommended!

__REQUEST__ for ($i=1;$i<$MAXNUM+1;$i++) { print <<__STOP_OF_ROW__; __STOP_OF_ROW__ } print <<__REQUEST2__;
  Name E-Mail Address
You
Friend $i
  Your Message