Help - Search - Members - Calendar
Full Version: CDONTS help
Neowin Forums > Windows Support > Windows NT4/2000/2003/2008 Server
chenks
can anyone help me with setting up and using CDONTS on my windows 2003 server ?

the server is running web and mail (argosoft) and i want to be able to use CDONTS with it.. but can't seem to get it to work.

any advice ?

i get this error

CODE
Microsoft VBScript runtime error '800a0046'  
Permission denied  
/test/send_mail.asp, line 38


line 38 is

CODE
objCDOMail.Send
Marsden
CDONTS was designed to be run as an in-process component using IIS 4.0 on Win NT 4.0. When you run an application out-of-process it runs in MTS.EXE (IIS 4.0) or DLLHOST.EXE (IIS5) process using the IWAM_<computername> account. When running applications out-of-process, the IWAM account may require access to files and system resources. In the case of the CDONTS object, the IWAM account requires access to the machine keys of the system and certain folders in the Inteinfo\Mailroot folder.

With this information in hand, there are a few possibilities. First, as a matter of policy, you should recode your applications to use the CDOSYS object. This will help to ensure future support as the CDOSYS object is not installed on Windows 2000 or Windows Server 2003. This may or may not be sufficient to solve your problem. Secondly, if the CDONTS application runs in process but not out-of-process, you are almost certainly looking at an issue related to the IWAM user account permissions. Running your CDONTS application in process may not be possible or desirable for security reasons, but will avoid permissions-related problems associated with the IWAM account. Verify the Mailroot and machine keys have the proper permissions. Thirdly, you also get the error you’re seeing if the user that launches the ASP script does not have proper permissions on the Mailroot\Pickup folder. By default the MailRoot folder is set to Everyone – Full Control, which is too permissive. I would suggest assigning Authenticated Users – Read/Write, in addition to System and Administrators Full Control. This will allow the IUSR and IWAM users as well as any other user accounts to write mail to the SMTP folders. You should also Deny Execute the IUSR_<computername> on these folders. If you have run the IIS Lockdown tool, you can use the Web Anonymous Users local group for this purpose. Do not deny the Web Applications group Write permissions.

Upon further review... In Windows 2000, it is recommended that you use CDOSYS instead of CDONTS. While CDONTS does work on Windows 2000, CDOSYS provides a greater feature set. See http://msdn.microsoft.com/library/default....cdo_roadmap.asp for more information. Additionally, CDONTS is not supported in Windows Server 2003 or Windows XP. Therefore, you need to modify your code....
chenks
i am not usins IIS to handle mail at all... i am using Argosoft Mailserver Pro

u say to use CDOSYS, but then go on to say that it isn't installed on 2000 or 2003.

this is what i am trying to achieve..

user fills in a contact form on website which is then sent to the recipient via the website.
the website and mail are both hosted on the same server.
web being run by IIS
mail being run by Argosoft Mailserver Pro
ulukai_nl
Uhm isn't Inetinfo.exe the IIS server process and DLLhost.exe just a host to run 16 bit dll's?
Marsden
Simplier... CDONTS is not supported in Windows Server 2003 and IIS 6 or Windows XP.

While CDONTS does work on Windows 2000 and IIS 5 , CDOSYS provides a greater feature set.
allfive6
chenks
Quote - (Marsden @ Sep 27 2004, 07:49)
Simplier... CDONTS is not supported in Windows Server 2003 and IIS 6 or Windows XP.

While CDONTS does work on Windows 2000 and IIS 5 , CDOSYS provides a greater feature set.

and will CDOSYS be able to connect to the 3rd party mail app ? bearing in mind that i am not using IIS for mail/smtp at all.
chenks
ok have tried to use this CDOSYS code with no sucess... anyone point me in the right direction ?
all i get no errors returned... but no email either.

when checking the mail server logs.. i can see no reference to any email trying to be sent.

CODE
<%
Const cdoBasic = 1
Const cdoSendUsingPort = 2

Dim iMsg
Dim iConf
Dim Flds

On Error Resume Next

set iMsg = CreateObject("CDO.Message")
set iConf = CreateObject("CDO.Configuration")

Set Flds = iConf.Fields

With Flds
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email@mail.com"
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "192.168.1.4"
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
    .Update
End With

Dim sMsg
Dim sTo
Dim sCC
Dim sFrom
Dim sSubject
Dim sTextBody

sTo = "email@mail.com"
sCC = ""
sFrom = Request.Form("email")
sSubject = Request.Form("subject")
sTextBody = Request.Form("enquiry")

objMail.Send

Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing

%>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.