in reply to MIME::Lite

Your problem is simply the argument quoting, by putting single quotes around the arguments in your MIME::Lite object, you prevent interpolation, so the headers in your message look like this:

To: $email_to
From: $email_from
Subject: $email_subject

$email_text

Obviously those addresses aren't deliverable, so you need to fix the quoting, just changing your $msg object creation to this should solve the problem:

$msg = MIME::Lite->new( From => $email_from, To => $email_to, Subject => $email_subject, Type => 'multipart/mixed', Data => $email_text, );

We're not surrounded, we're in a target-rich environment!