我有一个基于SQL数据库的Web门户,我们用它来更新进度。当队列中的记录更新后,Web表单应该发送电子邮件消息。
目前门户网站没有发送消息,我不确定故障点。门户网站本身正在更新,因为我可以在SQL表中看到更新的记录。只是没有收到电子邮件。
更新04/27/18
所以我试图从一个新的大道上攻击它,它正在起作用....
我所做的,是使用php将表格发送到外部网站,它会发送电子邮件。
我想知道的是如何传递变量?我已经阅读了一个小时的说明,这对我来说没有意义。
基本上我想从以下查询中传递一个变量
thequery = "SELECT loginemail FROM users WHERE referrerId = " & request.Form("referrerID") & ""
objRS.open thequery, objConn, adOpenStatic, adLockReadOnly
然后用类似的东西传递它
<form action="https://xxxxxx.com/hello.php?loginemail" method="post" name="updateclientform" id="updateclientform">
在php表单端,根据变量“loginemail”发送电子邮件
$to = trim(objRS("loginemail"));
有人帮忙吗?请
答案 0 :(得分:0)
MS可能不再支持CDO - 就像经典ASP本身一样,但它仍然有效。我将研究在ASP应用程序中设置脚本以使用CDO发送邮件。这样您就可以更好地控制任何SQL注入威胁,并在一个地方管理整个过程。
以下是CDO邮件脚本示例。
<%
'* Declare mailobject variables.
Dim validEmail, email_to, objCDOMail, objConf
Sub SetMailObject()
'* set up CDO config
Set objConf=Server.CreateObject("CDO.Configuration")
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mysmtp.server.com"
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "myusername"
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mypassword"
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objConf.Fields.Update
' Create an instance of the NewMail object.
Set objCDOMail = Server.CreateObject("CDO.Message")
Set objCDOMail.Configuration=objConf
End Sub
Sub sendLoginEmail(email_to)
'* Call Sub to set mail object settings
SetMailObject()
'* Set the mail objects
objCDOMail.From = "myadmin@mydomain.com"
objCDOMail.To = email_to
objCDOMail.Bcc = ""
objCDOMail.Subject = "My mail subject"
objCDOMail.TextBody = "My email body"
'* Send the message
objCDOMail.Send
'* Set the object to nothing
Set objCDOMail = Nothing
End Sub
If Request("loginemail") <> "" Then
validEmail = Request("loginemail")
'* strongly suggest to perform some cleansing and validation of the email here
Call sendLoginEmail(validEmail)
End If
%>