2011-12-03 104 views
0

我想解決我的叔叔網站的聯繫表格問題,我無法弄清楚問題所在。當我在實時站點上提交表單時,它顯示爲500內部服務器錯誤 - 您正在查找的資源存在問題,並且無法顯示。ASP表格不在網頁上提交

我想爲我安裝了IIS來排序了這一點我的桌面上,當我使用網頁上的表單中的IIS它表明這個錯誤:

CDO.Message.1 error '80040220' 

The "SendUsing" configuration value is invalid. 

/contact.asp, line 60 

爲形式的代碼是:

<% 
sectionID=8 

frmName = request.Form("frmName") 
frmEmail = request.Form("frmEmail") 
frmPhone = request.Form("frmPhone") 
frmAddress = request.Form("frmAddress") 
frmReferral = request.Form("frmReferral") 
frmCallback = request.Form("frmCallback") 
frmEnquiry = request.Form("frmEnquiry") 

if len(frmName) = 0 then 
    errormessage = "<p><b style=""color: red"">Name field left blank.</b></p>" 
elseif len(frmEmail) = 0 then 
    errormessage = "<p><b style=""color: red"">E-mail field left blank.</b></p>" 
elseif len(frmPhone) = 0 then 
    errormessage = "<p><b style=""color: red"">Phone field left blank.</b></p>" 
end if 

if request.TotalBytes <> 0 and len(errormessage) = 0 then 

    if len(frmReferral) = 0 then frmReferral = "(left blank)" end if 
    if len(frmCallback) = 0 then frmCallback = "(left blank)" end if 
    if len(frmAddress) = 0 then frmAddress = "(left blank)" end if 
    if len(frmEnquiry) = 0 then frmEnquiry = "(left blank)" end if 

    'send email 
    '---------- 
    Set objCDO = Server.CreateObject("CDO.Message") 
    objCDO.To = "[email protected]" 

    objCDO.From = frmEmail 
    objCDO.Subject = "Moroccan Properties - Enquiry Form" 

    bodyHTML = "Name:" & vbcrlf _ 
       & frmName & vbcrlf _ 
       & vbcrlf _ 
       & "Email:" & vbcrlf _ 
       & frmEmail & "" & vbcrlf _ 
       & vbcrlf _ 
       & "Phone:" & vbcrlf _ 
       & frmPhone & "" & vbcrlf _ 
       & vbcrlf _ 
       & "Address:" & vbcrlf _ 
       & frmAddress & "" & vbcrlf _ 
       & vbcrlf _ 
       & "How did you hear about us?:" & vbcrlf _ 
       & frmReferral & "" & vbcrlf _ 
       & vbcrlf _ 
       & "Do you require a callback?:" & vbcrlf _ 
       & frmCallback & "" & vbcrlf _ 
       & vbcrlf _ 
       & "Enquiry:" & vbcrlf _ 
       & frmEnquiry 

    'response.Write(bodyHTML) 
    'response.End 

    objCDO.TextBody = bodyHTML 
    objCDO.Send 
    Set objCDO = Nothing 

    response.Redirect("contact-thankyou.asp") 

end if %> 

的代碼在第60行是:objCDO.Send

我將不勝感激,如果有人可以幫助我這個問題。

感謝

編輯:

這是HTML表單:

<!--<form action="contact.asp" method="post" onsubmit="return validateRequired();">--> 
       <form action="contact.asp" method="post"> 
        <table border="0" cellpadding="2" cellspacing="0" class="text"> 
         <tr> 
          <td><p>Name : * </p></td> 
          <td><input name="frmName" id="frmName" type="text" class="textbox" value="<%=frmName%>" size="35" title="Required" /></td> 
         </tr> 
         <tr> 
          <td><p>Email : *</p></td> 
          <td><input name="frmEmail" id="frmEmail" type="text" class="textbox" value="<%=frmEmail%>" size="35" title="Required" /></td> 
         </tr> 
         <tr> 
          <td><p>Phone : *</p></td> 
          <td><input name="frmPhone" id="frmPhone" type="text" class="textbox" value="<%=frmPhone%>" size="35" title="Required" /></td> 
         </tr> 
         <tr> 
          <td><p>Address :</p></td> 
          <td><input name="frmAddress" id="frmAddress" type="text" class="textbox" value="<%=frmAddress%>" size="35" /></td> 
         </tr> 
         <tr> 
          <td><p>How did you hear about us :</p></td> 
          <td><select name="frmReferral" id="frmReferral" class="block" style="width: 180px"> 
          <option value=""> - SELECT - </option> 
          <option value="Magazine advert"<%if frmReferral = "Magazine advert" then%> selected="true"<%end if%>>Magazine advert</option> 
          <option value="Booklet advert"<%if frmReferral = "Booklet advert" then%> selected="true"<%end if%>>Booklet advert</option> 
          <option value="Web search"<%if frmReferral = "Web search" then%> selected="true"<%end if%>>Web search</option> 
          <option value="Web directory"<%if frmReferral = "Web directory" then%> selected="true"<%end if%>>Web directory</option> 
          <option value="Newspaper"<%if frmReferral = "Newspaper" then%> selected="true"<%end if%>>Newspaper</option> 
          <option value="TV"<%if frmReferral = "TV" then%> selected="true"<%end if%>>TV</option> 
          <option value="Other"<%if frmReferral = "Other" then%> selected="true"<%end if%>>Other</option> 
          </select> 
          </td> 
         </tr> 
         <tr> 
          <td><p>Do you require a call back :</p></td> 
          <td><select name="frmCallback" id="frmCallback" class="block" style="width: 180px"> 
          <option value=""> - SELECT - </option> 
          <option value="Morning"<%if frmCallback = "Morning" then%> selected="true"<%end if%>>Morning</option> 
          <option value="Afternoon"<%if frmCallback = "Afternoon" then%> selected="true"<%end if%>>Afternoon</option> 
          <option value="Not Required"<%if frmCallback = "Not Required" then%> selected="true"<%end if%>>Not Required</option> 
          </select> 
          </td> 
         </tr> 
         <tr> 
          <td align="left" valign="top"><p>Enquiry :</p></td> 
          <td><textarea name="frmEnquiry" id="frmEnquiry" cols="27" rows="4" class="textbox" style="width: 180px"><%=frmEnquiry%></textarea></td> 
         </tr> 
         <tr> 
          <td>&nbsp;</td> 
          <td align="right"><input name="submit" type="submit" value=" Send " class="submit"> 
          &nbsp;&nbsp;&nbsp; 
          <input name="reset" type="reset" class="submit"></td> 
         </tr> 
        </table> 
        <p>&nbsp;</p> 
       </form> 

此外,作爲我的叔叔將文件移動到一個新的主機這個停止工作這是之前,但只要工作。

+0

我已經在過去有這個 - http://classicasp.aspfaq.com/email/how-do -i-send-e-mail-with-cdo.html並修改你的代碼以匹配。你使用的是什麼版本的IIS? – dash

+0

這可能有幫助:http://forums.iis.net/t/1146477.aspx – Oded

+0

@dash我正在使用版本7.5 – user1060444

回答

0

您需要告訴Web服務器在哪裏查找郵件服務器。因此,除了CDO.Message對象,你需要創建一個CDO.Configuration對象:

sch = "http://schemas.microsoft.com/cdo/configuration/" 

Set objConfig = CreateObject("CDO.Configuration") 

With objConfig.Fields 
    .Item(sch & "sendusing") = 2 
    .Item(sch & "smtpserver") = "enter_mail.server_here" 
    // There are other settings which your mail server might 
    // need, such as smtpserverport, smtpconnectiontimeout, 
    // smtpauthenticate, etc. 
    .update 
End With 

Set objCDO = Server.CreateObject("CDO.Message") 
Set objCDO.Configuration = objConfig 
objCDO.To = "[email protected]" 

objCDO.From = frmEmail 
objCDO.Subject = "Moroccan Properties - Enquiry Form" 

bodyHTML = [stuff] 
bodyText = [stuff] 

objCDO.TextBody = bodyText 
objCDO.HtmlBody = bodyHTML 

objCDO.Send 
Set objCDO = Nothing 
Set objConfig = Nothing