首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CDO.Message未发送邮件

CDO.Message未发送邮件
EN

Stack Overflow用户
提问于 2019-10-14 14:30:47
回答 1查看 126关注 0票数 0

尝试改编web表单以使用CDO.Message。在此之前,代码已配置为使用Persits.MailSender和CDONTS.NewMail。就是不能让它工作,尽管我这次调整了一下。在填写了必填字段并单击Send Mail按钮后,页面会自行清除,并且只显示标题。没有错误。没有“已发送反馈”消息。没什么。

表单在这里:http://sverdina.com/feedback.asp。第一部分做一些检查,以确保所有必填字段都已填充,等等。这部分执行得很好。看起来下一步是什么,但是不会执行。

不幸的是,已经过了一段时间了,所以请原谅任何明显的编码错误。如有任何帮助或建议,我们将不胜感激!

代码语言:javascript
复制
<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>sverdina.com - feedback</TITLE>
<link rel="stylesheet" type="text/css" href="sverdina.css">
</HEAD>
<body bgcolor="696969" link="#ffd700" vlink="#ffd700" alink="#ffd700">
<% 
Call MenuBar
If Request("action") = "send" Then
	Call SendMail
Else
	Call GetInfo
End If
Call PageFooter
%>
</BODY>
</HTML>
<% Sub SendMail %>
<% 
ErrorStatus = 0
ErrorMessage = ""
If Trim(Request("comment")) + "" = "" Then
	ErrorStatus = 1
	ErrorMessage = "Please provide a non-blank comment"
ElseIf Request("name") + "" = "" Then
	ErrorStatus = 2
	ErrorMessage = "Please provide a non-blank name"
ElseIf Trim(Request("email")) + "" = "" Then
	ErrorStatus = 3
	ErrorMessage = "Please provide a non-blank e-mail address"
ElseIf Trim(Request("email")) & "" <> "" and InStr(Request("email"),chr(64)) = 0 Then
	ErrorStatus = 4
	ErrorMessage = "Please enter a valid e-mail address"
End If
If ErrorStatus > 0 Then %>
<form action="feedback.asp" method="post">
<input type="hidden" name="action" value="send">
<br>
<FONT FACE="Arial, Helvetica, Verdana" COLOR="red"><b><DIV CLASS="h1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* <%= ErrorMessage %> *</DIV></b></FONT>
<br>
<FONT FACE="Arial, Helvetica, Verdana" COLOR="gainsboro">
<DIV CLASS="h2_30">
<p>Your Name:
<br>
<input name="name" size=35 value="<%= Request("name")%>">
<p>Your E-Mail Address:
<br>
<input name="email" size=35 value="<%= Request("email")%>">
<p>Your Comments:
<br>
<textarea name="comment" cols=50 rows=7><%= Request("comment") %></textarea>
<p><input type="submit" value="Send Mail">
</FONT>
</DIV>
<br>
<DIR>
<FONT FACE="Arial, Helvetica, Verdana" COLOR="#ffd700">
<DIV CLASS="h3">
<b>* All fields required</b>
</DIV>
</FONT>
</DIR>
</form>
<% Else  
  strBody = Request("comment") & Chr(13) & Chr(10) & Chr(13) & Chr(10)
  strBody = strBody & Request("name") & Chr(13) & Chr(10) & Request("email") & Chr(13) & Chr(10)
  
Set objMessage = CreateObject("CDO.Message")
objMessage.From =  Request("email")
objMessage.Body = strBody 
objMessage.MailFormat = 1
objMessage.To = "sergio@sverdina.com"

On Error Resume Next

objMessage.Send
   
Response.Write "<BR><FONT FACE=Arial, Helvetica, Verdana COLOR=gainsboro><DIV CLASS=h4_10b><DIV CLASS=h4_10b><DIV CLASS=h4_10b><p>Feedback Sent!</p></DIV></DIV></DIV></FONT>"
set objMessage = nothing

  End If %>
<% End Sub %>
<% Sub GetInfo %>
<form action="feedback.asp" method="post">
<input type="hidden" name="action" value="send">
<input type="hidden" name="subject" value="Feedback from sverdina.com">
<FONT FACE="Arial, Helvetica, Verdana" COLOR="gainsboro">
<DIV CLASS="h2_30">
<p>Your Name:
<br>
<input name="name" size=35>
<p>Your E-Mail Address:
<br>
<input name="email" size=35>
<p>Your Comments:
<br>
<textarea name="comment" cols=50 rows=7 ></textarea>
<p><input type="submit" value="Send Mail">
</DIV>
</FONT>
<FONT FACE="Arial, Helvetica, Verdana" COLOR="#ffd700">
<DIV CLASS="h3">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>*All fields required</b>
</DIV>
</FONT>
</form>
<% End Sub %>
<% Sub PageFooter %>
<!--#INCLUDE FILE="footer.inc"-->
<% End Sub %>
<% Sub MenuBar %>
<!--#INCLUDE FILE="header.inc"-->
<% End Sub %>

EN

回答 1

Stack Overflow用户

发布于 2019-10-16 03:10:37

我想通了。“内脏”需要如下所示:

代码语言:javascript
复制
Set objMessage = CreateObject("CDO.Message")
objMessage.Sender =  Request("name")
objMessage.From =  Request("email")
objMessage.TextBody = strBody 
objMessage.To = "sergio@sverdina.com"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58371187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档