First things would be to ask if you installed SP3 for Exchange. If you did, then it closed relay so normal CDONTS won't work without authentication. This was a fix in SP3 to keep the open relay from being abused. Most servers were blacklisted after being randomly tested for open relay and ISP's around the world were using those blacklists to block servers that had this problem to help cut down on spam.
Here is the solution if this is your problem; (took me a couple weeks to find this and all my site's forms were run with CDONTS)
You need the following code to process your CDONTS email request. Just copy and paste this into a new asp page and it will process the fields stated below from the form the same way unauthenticated CDONTS does.
==============================================
<%
Const cdoSendUsingMethod = "
Const cdoSendUsingPort = 2
Const cdoSMTPServer = "
Const cdoSMTPServerPort = "
Const cdoSMTPConnectionTimeout = "
Const cdoSMTPAuthenticate = "
Const cdoBasic = 1
Const cdoSendUserName = "
Const cdoSendPassword = "
Dim objConfig ' As CDO.Configuration
Dim objMessage ' As CDO.Message
Dim Fields ' As ADODB.Fields
' Get a handle on the config object and it's fields
Set objConfig = Server.CreateObject("CDO.Configuration"

Set Fields = objConfig.Fields
' Set config fields we care about
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "yourserverhere"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "username"
.Item(cdoSendPassword) = "password"
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message"
Set objMessage.Configuration = objConfig
With objMessage
.To = request.form ("recipient"

.From = request.form ("name"

.From = request.form ("email"

.Subject = "your subject"
.TextBody = request.form ("message"

.Send
End With
Set Fields = Nothing
Set objMessage = Nothing
Set objConfig = Nothing
Response.Write (Thanks for using the form)
%>