in reply to SendMail vs. Mail::Sender

As trivial as it may sound, sending mail and catching the result, and making sure that the mail really went where you want it to go, can be much harder then it might seem in the beginning.
First of all, if you just and only need to send a mail sommewhere, and catching the response is not really needed, the module to use is IO::Socket. Open a socket to the mailserver and pipe the message there.
On the other hand, if you need to verify atleast the message that the server gave, you have 2 options: either send the mail directly from your script, or use a "link" mailserver, eg. mailserver that is running on the same machine or is the mailserver of your network, and let it do the dirty work for you.

To make it short, I'd use IO::Socket, it's bulky and needs some programming time overhead, but the advantage is that you won't need to install any additional packages, and it's compatible with any perl. Otherwise I'd use Mail::Sendmail from CPAN. (0.78 is latest I think).