in reply to Created script to send email but ending up with blank "FROM" field?

The problem you're running into is the difference between SMTP envelope information, and email header information. SMTP envelopes control message delivery, but aren't generally shown to the user; that's what you're setting with the mail and recipient methods. Headers are part of the data, and are simply lines that start with a field name and colon, followed by optional space, followed by the value (well, they can be more complicated, but don't need to be for this case). Headers continue until the first blank line, then the body starts. Something like this:
To: $recipient1
From: $ENV{USER}
Subject: A Message
Date: Thu, 16 Sep 2004 09:59:15 -0400

This is my message
(take care to get the Date format exactly right).

You can do this using either of the methods already suggested here.