You can stream the whole thing directly into an email if you play about with sockets (which I'm cr@p at in shell so I won't try and show you how), but otherwise you can go with your idea of using a temporary file like so:
Code:
#!/bin/ksh
sendmail="/usr/lib/sendmail"
recipient="recipient@there.com"
sender="me@here.com"
tempfile="/tmp/mailthingy.$$"
print "To: $recipient" > $tempfile
print "From: $sender" >> $tempfile
print "Subject: some stuff\n" >> $tempfile
print "AL" >> $tempfile
print "AM" >> $tempfile
print "AN" >> $tempfile
print "RL\n" >> $tempfile
nawk '/PROD/ {print $3, $2}' /home/user/switch_listtest | sort -k1,2 >> $tempfile
print "End of Report" >> $tempfile
if cat $tempfile | $sendmail $recipient
then
print "Ok"
rm -f $tempfile
exit 0
else
print "Barf!"
print "Tried to send the message contained in the following file to $recipient but failed:"
print "$tempfile"
exit 1
fi