I have written a lightweight application that needs to send small emails. This application must be able to run unaltered on both UNIX and Windows machines. I originally used Mail::Sendmail, which worked fine until we deployed our application to a site where the outgoing SMTP server required authentication. Not all our sites support authentication for outgoing email. Furthermore, some sites may require SSL/TLS encryption for submitting authentication credentials. So, whatever I use it has to be flexible enough to be used in any of these situations.