It's not possible to determine your mistake without seeing your code. However, I can vouch for Mail::Sendmail, which I am using on Win2K with good results. It looks like this:
use Mail::Sendmail;
my %mail = (
SMTP => $SMTP_SERVER,
To => $EMAIL_TO,
Cc => 'me@my.com',
From => $EMAIL_FROM,
Subject => 'testing',
Message => $message,
);
sendmail(%mail) or die $Mail::Sendmail::error;