我的表单重定向到感谢页面,但没有向我发送提交的信息
我被要求将此问题更新为最新的代码和错误。我现在没有收到任何错误,但表单中的信息仍未发送到电子邮件。 asp 与表单位于同一页面上:
asp 代码:
<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows Library" -->
<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->
<%
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
'----------
SUB sendmail( frmName, frmEmail, frmPhone, frmAddress, frmReferral, frmCallback, frmEnquiry )
Dim objCDO
Dim iConf
Dim Flds
Const cdoSendUsingPort = 2
Set objCDO = Server.CreateObject("CDO.Message")
Set iConf = Server.CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPickup
.Item(cdoSMTPServer) = "213.171.216.21"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPconnectiontimeout) = 10
.Update
End With
Set objCDO.Configuration = iConf
objCDO.To = "[email protected]"
objCDO.Subject = "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
END SUB
Set objCDO = Nothing
Set iConf = Nothing
Set Flds = Nothing
response.Redirect("contact-thankyou.asp")
end if %>
表单:
<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> </td>
<td align="right"><input name="submit" type="submit" value=" Send " class="submit">
<input name="reset" type="reset" class="submit"></td>
</tr>
</table>
<p> </p>
</form>
如果有任何进一步的帮助,我们将不胜感激。谢谢
I was asked to update this question to the most recent code and error. I now receive no error but the information from the form is still not being sent to the email. The asp is on the same page as the form:
The asp code:
<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows Library" -->
<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->
<%
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
'----------
SUB sendmail( frmName, frmEmail, frmPhone, frmAddress, frmReferral, frmCallback, frmEnquiry )
Dim objCDO
Dim iConf
Dim Flds
Const cdoSendUsingPort = 2
Set objCDO = Server.CreateObject("CDO.Message")
Set iConf = Server.CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPickup
.Item(cdoSMTPServer) = "213.171.216.21"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPconnectiontimeout) = 10
.Update
End With
Set objCDO.Configuration = iConf
objCDO.To = "[email protected]"
objCDO.Subject = "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
END SUB
Set objCDO = Nothing
Set iConf = Nothing
Set Flds = Nothing
response.Redirect("contact-thankyou.asp")
end if %>
The form:
<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> </td>
<td align="right"><input name="submit" type="submit" value=" Send " class="submit">
<input name="reset" type="reset" class="submit"></td>
</tr>
</table>
<p> </p>
</form>
Would appreciate any further assistance with this. Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
没有调用 sendmail 过程。
调用该过程。
例如在
'发送电子邮件
注释行之后。更新:
删除以下几行,所有这些属性都是完全虚构的:)。这些变量已经在变量
bodyHTML
中。There is no call to sendmail procedure.
Call the procedure.
e.g. after the
'send email
comment line.Update:
Remove the following lines, all of these properties are completely fictitious :). These variables have already been in the variable
bodyHTML
.看起来您在配置部分中的内容超出了您的需要。您可以在没有配置项的情况下尝试一下吗?还是需要这些?我会尝试一个简单的发送脚本,然后从那里扩展它。
这是我得到以下内容以及通过 CDO 发送电子邮件的其他方法的参考: VBScript电子邮件参考
It looks like you have more than you need in the configuration section. Can you try it without the configuration items or do you need those? I would try a simple send script and then expand it from there.
Here is a reference where I got what is below as well as other ways to send the email via CDO: VBScript Email References