2009年7月3日 星期五

啟用IIS6隔離模式對CDO.Message的影響

因為不明的原因造成IIS6常常重啟,不得已只好開啟隔離模式(用 IIS 5.0 隔離模式執行 WWW 服務),結果奇怪的事發生了,原本ASP可以發送mail的,突然不能發送,還有錯誤訊息,把隔離模式取消,就可以發送了,很怪吧(CDONTS也一樣,可參考我另一篇)

程式如下


Set objEmail = CreateObject("CDO.Message")
objEmail.From = "寄件者"
objEmail.To = "收件者"
objEmail.Subject = "CDO.Message test"
objEmail.Textbody = "test"
objEmail.Send
Response.write "使用CDO.Message發信成功"

錯誤訊息


CDO.Message.1 錯誤 '80040220'
"SendUsing" (?C°e‥I¥I) 3]cw-EμLRA!C
/mis331.asp, 列8
解決辦法

objEmail.Send 前,加入下列四行即可
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"localhost"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update

2009年7月2日 星期四

啟用IIS6隔離模式對CDONTS.NewMail的影響

先說win2003預設已不支援CDONTS.NewMail了,建議是用CDO.Message囉,但若還是堅持要用,請自行從別台機器拷貝cdonts.dll然後再註冊就可使用!

因為不明的原因造成IIS6常常重啟,不得已只好開啟隔離模式(用 IIS 5.0 隔離模式執行 WWW 服務),結果奇怪的事發生了,原本ASP可以發送mail的,突然不能發送,還有錯誤訊息,把隔離模式取消,就可以發送了,很怪吧 (CDO.Message也是,可參考)

程式如下
Set objEmail = CreateObject("CDONTS.NewMail")
objEmail.From = "寄件者"
objEmail.To = "收件者"
objEmail.Subject = "CDONTS.NewMail test"
objEmail.body = "test"
objEmail.Send
Response.write "使用CDONTS.NewMail發信成功"

錯誤訊息如下

Microsoft VBScript 執行階段錯誤 錯誤 '800a0046'
沒有使用權限
/mis33.asp, 列8

解決辦法

在IIS管理員的SMTP按右鍵選內容
在安全性頁籤新增下列兩各的權限就OK
IUSR_電腦名稱
IWAM _電腦名稱