ASP форма не отправляется на веб-страницу - PullRequest
0 голосов
/ 04 декабря 2011

Я пытаюсь решить проблему с контактной формой для моего сайта дяди и не могу понять проблему. Когда я отправляю форму на действующем сайте, она отображается как 500 Внутренняя ошибка сервера - существует проблема с ресурсом, который вы ищете, и он не может быть отображен.

Я пытаюсь разобраться с этим на своем рабочем столе, так как у меня установлен 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 = "rajin1@hotmail.co.uk"

    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

Буду очень признателен, если кто-нибудь сможет мне помочь с этим вопросом.

Спасибо

Edit:

Это форма в формате 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>

Также это работало и раньше, но как только мой дядя переместил файлы на новый хост, он перестал работать.

1 Ответ

0 голосов
/ 16 декабря 2011

Вы должны указать веб-серверу, где искать почтовый сервер. Поэтому в дополнение к объекту 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 = "rajin1@hotmail.co.uk"

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...