Not sure if this will help, but I used a script to do exactly this too. Looking at yours I can't see anything wrong though.
Set objNetwork = wscript.CreateObject("wscript.network")
Set WshNetwork = WScript.CreateObject("WScript.Network")
SMTPServer = "x.x.x.x"
Recipient = "bheadon@****"
From = "alert@****"
Subject = "Alert " & objNetwork.Username & " is on " & WshNetwork.ComputerName
Message = " User " & objNetwork.Username & " has logged into " & WshNetwork.ComputerName
' To add an attachment update the full path and uncomment the line
' There is one line below that must also be uncommented
'attachment = "c: \ test.txt"
' Call Sub and pass required data
GenericSendmail SMTPserver, From, Recipient, Subject, Message
' Begin Sub
' ------------------------------------------------------------------
' Generic function to send mail using a remote
' SMTP server. Pass SMTPserver, From address,
' Recipient address, Subject, and Message as arguments
' ------------------------------------------------------------------
Sub GenericSendmail (SMTPserver, From, Recipient, Subject, Message)
set msg = WScript.CreateObject("CDO.Message")
msg.From = From
msg.To = Recipient
msg.Subject = Subject
msg.TextBody = Message
' To add an attachment uncomment this line
'msg.AddAttachment attachment
msg.Configuration.Fields ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServer
msg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
msg.Configuration.Fields.Update
msg.Send
End Sub