pgplus/bin/
pgplus/help_files/
pgplus/port_redirector/
pgplus/src/configure/makefiles/
#!/bin/bash
#
# Mailer program 1.8
# (c) Richard Lawrence (aka Silver) 1996
#
# This simple script (in conjunction with the 'list_emails' command on the
# talker) will send out a mass mail to all your residents without any of
# them knowing who else has received it.
# 

#
# Some credits and information
#

echo " "
echo "Mailer 1.8"
echo "Copyright (c) Richard Lawrence (aka Silver) 1996"
echo " "

#
# If we have the wrong number of arguments then tell them some information
#

if [ -z "$1" ]
then
  echo "Allows you to mass mail your residents without your list being"
  echo "hijacked."
  echo 
  echo "eg.   ${0##*/} moved.msg \"PG+ has moved sites\""
  echo 
  echo "Would mail the text file 'moved.msg' to all your residents with"
  echo "the subject line \"PG+ has moved sites\"."
  echo 
  echo "Usage: ${0##*/} [filename] [subject]"
  echo 
  exit
fi

if [ -n "$3" ]
then
  echo "It looks like you haven't surrounded your subject line in quotes. Try"
  echo "doing something like this:"
  echo
  echo "${0##*/} $1 \"your subject line with spaces\""
  echo
  exit
fi

#
# Check the 'emails.rpt' exists - if it doesn't then warn them and exit
#

if [ ! -f "$HOME/pgplus/reports/emails.rpt" ]
then
  echo "You need to log onto the talker and type 'list_emails' first before"
  echo "you can run this program."
  echo
  exit
fi

#
# Work out how many mails will be sent
#

num=`wc -l ~/pgplus/reports/emails.rpt | awk '{ print $1 }'`

#
# Print out the details for confirmation
#

echo "     Filename           : $1"
if [ -z $2 ]
then
  echo "     Subject            : <no subject>"
else       
echo "     Subject            : $2"       
fi
echo "     Mails to be posted : $num"
echo " "
echo "Hit RETURN to start mailing or CTRL-C to cancel now"
echo " "
read temp

#
# Set the number posted so far (0)
#

d=0

#
# Loop through each name mailing them a personal email.
# NOTE: The 'wait 1' is required otherwise sendmail has problems and
#       often fails to terminate properly (leaving hundreds of running
#       processes). Also without the 'wait' the program would cause the
#       server to slow down immensely during execution.
#

for id in `cat ~/pgplus/reports/emails.rpt`
do

  eval mail -s '`echo $2`' $id < $1  
  d=`expr $d + 1`
  echo -e "   NOW MAILING ... ($d out of $num residents)\c\r"
  sleep 1
done

#
# Report we've finished
#

echo "   FINISHED.       ($num out of $num residents)"
echo " "