Peter 發問時間: 電腦與網際網路程式設計 · 1 0 年前

為什麼我的Set....會有錯(ASP)?

各位大大,以下是我用ASP寫的郵件寄送程式(mailto.asp和sendmail.asp),可是不知道為什麼,每次跑到Set Mail=Server...就會出錯?請各位大大指導一下!! Thank you~~~

[mailto.asp]

<form method="POST" action="sendmail.asp" name="sendmail">

<center>

<p align="justify"> </p>

<table width="437">

<tr>

<td width="125" align="right"><b>信箱:</b></td>

<td width="302"><input tyep="text" name="from" size="40"></td>

</tr>

<tr>

<td width="125" align="right"><b>收件人:</b></td>

<td width="302"><input tyep="text" name="mailto" size="40"></td>

</tr>

<tr>

<td width="125" align="right"><b>主題:</b></td>

<td width="302"><input tyep="text" name="subject" size="40"></td>

</tr>

<tr>

<td width="125" align="right"><b>內容:</b></td>

<td width="302"><textarea name="body" rows="10" cols="40"></textarea></td>

</tr>

<tr>

<td width="427" align="right" colspan="2">

<p align="center"><input type="submit" value="送出" name="B1"><input type="reset" value="重新設定" name="B2"></td>

</tr>

</tabel>

</form>

[sendmail.asp]

<%

from=Request("from")

mailto=Request("mailto")

subject=Request("subject")

body=Request("body")

if request("from")=""or request("mailto")=""or request("subject")=""or request("body")="" then

response.write "<html><body><center>您有空格沒寫到!<hr>"

response.write "<a href='javascript:history.go(-1)'>回上一頁</a></center></body></html>"

else

email=request("from")

mailto=Request("mailto")

subject=Request("subject")

body=Request("body")

Set Mail=Server.CreateObject("CDONTS.NewMail")mail.from=email

mail.to=mailto

mail.subject=subject

mail.body=body

mail.send

set mail=nothing

response.wirte"<html><body><h2>E-mail~OK!!</h2>"

response.write "<a href='javascript:history.go(-1)'>anyone?</a></body></html>"

end if

%>

1 個解答

評分
  • 1 0 年前
    最佳解答

    你好,

    如果你產生的錯誤訊息是建立物件失敗的話, 那必需由你的主機系統查起

    Server.CreateObject("CDONTS.NewMail") 這是 Windows NT/2000 上內建的服務, 在 Windows 2003 上沒有沒這個服務(印象裡 XP 也沒有), 在 2003 中, 則是被建議改用 CreateObject("CDO.Message"), 至於 CDOMessage 的用法, 上 Google 會找到一堆

    因此極有可能你的問題出在這裡

    請先確認你主機上使用的系統

    順帶一提,

    如果你的程式, 將來要移轉到其他主機上, 也請注意其他主機的作業系統另外, 你可以把 Windows 2000 中的 CDO 元件複製到你電腦裡, 再註冊即可使用 CDONTS.NewMail (程式檔名 cdonts.dll)你也可以選擇放棄 Windows 內建應用於郵件上的元件, 改用其他廠商開發的元件, 例如 JMail 就是一個很受歡迎的元件, 同時提供了完全免費的版本, 連結在這裡

    參考資料: http://audi.tw/
還有問題?馬上發問,尋求解答。