【问题标题】:CDO.Message not sending mailCDO.Message 不发送邮件
【发布时间】:2019-10-16 03:10:36
【问题描述】:

尝试调整 Web 表单以使用 CDO.Message。在此之前,代码已配置为使用 Persits.MailSender 和 CDONTS.NewMail。尽管这次我进行了调整,但似乎无法让它工作。填写完必填字段并单击“发送邮件”按钮后,页面会自行清除并仅显示标题。没有错误。没有“反馈已发送”消息。没有什么。

表格在这里:http://sverdina.com/feedback.asp。 第一部分进行一些检查以确保填写所有必填字段等。这部分执行得很好。似乎接下来会发生什么,但是没有执行。

很遗憾,已经有一段时间了,所以请原谅任何明显的编码错误。任何帮助或建议将不胜感激!

<%@ 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 %>

【问题讨论】:

    标签: cdo.message


    【解决方案1】:

    想通了。 “胆量”需要如下:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      相关资源
      最近更新 更多