#!/bin/csh -f

onintr intrend				# if interrupted go to intrend

echo 'Type ^C any time to quit.'

touch $HOME/smtp			# create smtp file
echo '' > $HOME/smtp
echo 'HELO' `hostname` >> $HOME/smtp	# send HELO message
echo -n "Fake sender: "			# get fake sender
echo 'MAIL From:' $< >> $HOME/smtp	# dump fake sender (appropriately
					# formatted, of course) into smtp

echo 'Enter real addresses, one at a time.  Return after last recipient.'
echo -n 'Recipient: '			# get first address
set rec = $<
while ($rec == '')			# if first address is null, bitch.
	echo 'You must have at least one recipient.'
	echo -n 'Recipient: '		# try again for first address
	set rec = $<
end

while ($rec != '')				# if last address wasn't null
	echo 'RCPT To:' $rec >> $HOME/smtp	# put (n-1)th address in smtp
	echo -n 'Recipient: '			# get nth address
	set rec = $<
end

echo 'data' >> $HOME/smtp		# formatting smtp again
echo -n 'From line for message: '	# put dummy From field in smtp
echo 'From:' $< >> $HOME/smtp
echo -n 'To line for message: '
echo 'To:' $< >> $HOME/smtp		# put dummy To field in smtp
echo -n 'CC line for message: '		# put dummy CC field in smtp
set cc = $<				# if not null
set cc1 = `echo $cc | awk '{ print $1 }'`
if ($cc1 != '') echo 'CC:' $cc >> $HOME/smtp
echo -n 'Subject: '			# put Subject field in smtp
set subject = $<			# if not null
set subj1 = `echo $subject | awk '{ print $1 }'`
if ($subj1 != '') echo 'Subject:' $subject >> $HOME/smtp
echo '' >> $HOME/smtp			# Blank line after Subject field
echo -n 'Input file (return for standard input): '
set file = $<
if ($file != '') then
	while (! -e $file)
		echo "Can't find file" $file
		echo -n 'Input file (return for standard input): '
		set file = $<
	end
	cat $file >> $HOME/smtp
else
	echo 'Enter message.  End with a ^D on its own line.'
	cat >> $HOME/smtp
endif
echo '.' >> $HOME/smtp
echo 'quit' >> $HOME/smtp
echo -n 'Sending machine (default is athena): '
set machine = $<
if ($machine != '') then
	telnet $machine 25 < $HOME/smtp
else
	telnet athena 25 < $HOME/smtp
endif
\rm -f $HOME/smtp
unset file
unset cc
unset subject
unset machine
exit 0

intrend:
	echo 'fmail interrupted...exiting'
	\rm -f $HOME/smtp
	unset file
	unset machine
	exit 1


