none
在WINDOWS server 2003上使用CDONTS.NewMail的傳送方法時發生800a0046錯誤 RRS feed

  • 問題

  • 使用CDONTS.NewMail的傳送方法時發生 800a0046 錯誤

    之前網站在Win 2000上運作正常,移到win server 2003 CDONTS.NewMail就無法使用
    把CDONTS.dll由win 2000移到win 2003後註冊登錄後,變成權限上的問題

    參照微軟網頁   http://support.microsoft.com/kb/197619/zh-tw 
    更改設定卻還是不行
    查了一下,win server2003的設定資料夾卻不是微軟網頁所說的在C:\InetPub\MailRoot 內,而是在 C:\Program files\Exchsrvr\vsi 1 裡,在這裡面的資料夾重複上述網頁所教的步驟後,發信成功了

    但是卻卡在Queue資料夾裡,沒發送出去,請問接下來我該如何設定讓他發送出去

    謝謝

     PS:我知道在2003上可以用CDO.Message這個新物件,但是因為是整個Website移過來的,要修改的部分太多,所以還是想請問一下有甚麼方法可以讓他發出去

    • 已移動 小朱MVP, Moderator 2011年5月13日 上午 07:21 (從:XML 與 Web Services(XML & Web Services))
    2006年5月8日 上午 08:57

解答

  • 我的處理方式

    1.把Exchange架好,架好mail Server之後就可以用了,因為SMTP port 被Exchange佔住,CDONTS 無法利用未架設好的SMTP發信

    2. 把Exchange移除,不要安裝,然後使用IIS 的虛擬SMTP

    3.改用CDO,可以指定別台Mail Server 的SMTP,然後利用那個SMTP發信and解決

    希望我的經驗對你有幫助,我摸了一個月,一種一種去try,可以利用Server 架設和程式改寫兩種方法解決

    不過Server 2003 沒有CDONTS 元件,你要從Win Server 2000移過來然後註冊才能使用

     

     

    2006年10月13日 上午 07:21

所有回覆

  • Dear chuszen:

    不曉得這篇KB是不是能解決你的問題。

    http://support.microsoft.com/default.aspx?scid=kb;en-us;286301

    我之前也是遇到這個問題,後來看到

    http://www.aspfaq.com/show.asp?id=2026

    就整個翻成CDO了。

    2006年5月8日 下午 01:05
  • 您好

    我現在的問題已由錯誤訊息變成發出去的信會卡在Queue中,停在主機內而未發出,現在已經沒有顯示錯誤訊息,ASP網頁表面正常運作

    我參照微軟的網頁解決了錯誤訊息,卻跑出另一個信卡在Queue出不去的問題,能否請大大指點

    謝謝

    2006年5月9日 下午 01:14
  • 您好

    不知道我這個問題是不是已經由ASP轉換成Mail的問題,不知道是否還適合在此版發問,如果不適合請大大指點我該去哪個版發問

    謝謝

    2006年5月10日 上午 02:39
  • 與程式開發相關問題仍然可在此發問,但如果是網路或伺服器設定,則請移到社群討論區之相關討論區進行討論:

    http://www.microsoft.com/taiwan/community

    謝謝 .

    2006年5月10日 上午 03:18
    版主
  • 我自己已經解決了,原來是Exchange卡住了信,把Exchange解決問題就解決了
    2006年5月16日 下午 01:04
  • 請問Exchange的問題是什麼呢? 如何解決的啊? 因為我也碰到了一樣的問題~ 感恩~
    2006年10月13日 上午 07:01
  • 我的處理方式

    1.把Exchange架好,架好mail Server之後就可以用了,因為SMTP port 被Exchange佔住,CDONTS 無法利用未架設好的SMTP發信

    2. 把Exchange移除,不要安裝,然後使用IIS 的虛擬SMTP

    3.改用CDO,可以指定別台Mail Server 的SMTP,然後利用那個SMTP發信and解決

    希望我的經驗對你有幫助,我摸了一個月,一種一種去try,可以利用Server 架設和程式改寫兩種方法解決

    不過Server 2003 沒有CDONTS 元件,你要從Win Server 2000移過來然後註冊才能使用

     

     

    2006年10月13日 上午 07:21
  •  

    ASP 在 Windows 2000 與 2003 寫法有所差異

    不需要將 2000 的 CDONTS 元件註冊到 2003

    因為 2003 使用的是 CDO 元件

    以下是 Windows 2003 的寫法

    Set cm = Server.CreateObject("CDO.Message")

    cm.BodyPart.Charset = "big5"

    cm.From = "寄件者信箱"

    cm.To="收件者信箱"

    cm.Subject="郵件的主旨"

    cm.TextBody="郵件的內容"

    cm.HtmlBody = "郵件的內容"

    cm.AddAttachment Server.MapPath("test.zip") ==> 如果有需要發送附件的話就用上面的方法把文件附加進去。

    cm.Send

    Set cm = Nothing

    2008年2月26日 上午 03:21
  • 基本上不要每個網站架個 Mail Server ,直接指定公司或 ISP 的 SMTP Server 即可。

    2008年2月27日 下午 02:46
  • 多谢指教!我在win 2003 server 下,拷贝CDONTS.dll到system32目录下,运行regsvr32注册,设置:\Program files\Exchsrvr\MailRoot目录的权限后,发信成功。

    2008年9月24日 上午 01:24
  • 基本上不要每個網站架個 Mail Server ,直接指定公司或 ISP 的 SMTP Server 即可。


    請教一下要如何指定到公司或 ISP 的 SMTP Server .
    寫在程式內嗎? 謝謝
    2011年5月13日 上午 04:07
  • http://www.google.com.tw/search?num=20&hl=zh-TW&safe=off&biw=1422&bih=761&q=vbscript+%22http%3A%2F%2Fschemas.microsoft.com%2Fcdo%2Fconfiguration%2Fsmtpserver%22+site%3Amsdn.microsoft.com&btnG=%E6%90%9C%E5%B0%8B&aq=f
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年5月13日 下午 12:57