I am trying to set up email configuration with CDOSYS, with a remote SMTP server. My webserver is windows server 2008 64 bit,
the version of IIS is 7.5.7600.16385.
My first question is: if sending mail with CDOSYS to a remote smtp server, do I still need the local smtp service running? For security reasons my company does not want the local smtp service running on the web server that the forum is installed on
My second question is: I'm not sure how to get past the transport error I am getting when CDO attempts to send the mail. Networking has assured me this should not be a firewall issue. (and yes smtp for the remote server is listening on port 25). There are other .NET programs running on the same webserver I have the forum installed on that send emails successfully using .NET, with the same configuration (port, ip address etc) as I am using with the forum.
Any ideas on what I might check on? (I have tried this with the local smtp service both running and not running, I have tried with various combinations of security (0 - no authentication, 1 clear text with my email and password, and 2), and still the transport error. I've also been fiddling with IIS settings and still the transport error.
Thanks in advance for any help I can get on this. If I can't get email to work I have to abandon this and find another solution.
on the web server this is my email configuration:
email component: CDOSYS (IIS5/5.1/6) - this is the only component available in the dropdown.
email mode: on
email server address 99.9.9.99 (the ip address of the remote smtp server)
require unique email: on
email validation: on
filter: off
restrict registration: off
require logon for sending email: on
number of posts: 0
I have put the following debug statements in inc_mail.asp to
try to figure out why mail is not getting sent:
Code:
case "cdosys"
Set iConf = Server.CreateObject ("CDO.Configuration")
Set Flds = iConf.Fields
Flds("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 '2 - remote smtp server, 1 local smtp server
Flds("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strMailServer 'from email configuration
Flds("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
Flds("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
Flds("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
Flds("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0 'no authentication required, 1 is clear text, 2 is current process
Flds.Update
Set objNewMail = Server.CreateObject("CDO.Message")
Set objNewMail.Configuration = iConf
'Format and send message
Err.Clear
objNewMail.To = strRecipients
objNewMail.From = strSender
objNewMail.Subject = strSubject
objNewMail.TextBody = strMessage
On Error Resume Next
objNewMail.Send
If Err <> 0 Then
Response.Write "There was an error in send..."
Response.Write "Error Number" & Err.Number & "<br>"
Response.Write "Error Description" & Err.Description & "<br>"
Response.Write "Source" & Err.Source & "<br>"
Response.Write "strMailServer: " & strMailServer & "<br>"
Err_Msg = Err_Msg & "<li>Your request was not sent due to the following error: " & Err.Description & "</li>"
else
Response.Write "Your mail has been sent..."
end if
This is the error I get :
Code:
There was an error in send...Error Number-2147220973
Error DescriptionThe transport failed to connect to the server.
SourceCDO.Message.1
strMailServer: 99.9.9.99 (where this is the ip address of the remote smtp server)
This is what I get from the IIS log:
Code:
2011-07-25 13:28:06 99.1.1.99 GET /KBForum/pop_mail.asp id=3 80 - 99.1.1.99 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+Trident/4.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.30618;+.NET+CLR+3.5.30729;+.NET4.0C;+.NET+CLR+1.1.4322) 200 0 0 281
2011-07-25 13:28:08 99.1.1.99 POST /KBForum/pop_mail.asp mode=DoIt&id=3 80 - 99.1.1.99 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+Trident/4.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.30618;+.NET+CLR+3.5.30729;+.NET4.0C;+.NET+CLR+1.1.4322) 200 0 0 468