【发布时间】:2011-12-01 10:47:25
【问题描述】:
我已经给出了一个 HTML 文件。当有人填写表格并发送时,它应该向他们的邮件 ID 发送电子邮件。如何在 ASP 中为此编写代码?
您的姓名:* 电子邮件:* 电话号码: 您的留言:*- 格纳尼亚尔祖拜尔
【问题讨论】:
标签: email asp-classic
我已经给出了一个 HTML 文件。当有人填写表格并发送时,它应该向他们的邮件 ID 发送电子邮件。如何在 ASP 中为此编写代码?
您的姓名:* 电子邮件:* 电话号码: 您的留言:*【问题讨论】:
标签: email asp-classic
像这样使用 CDOSYS:-
Dim oMsg : Set oMsg = CreateObject("CDO.Message")
oMsg.From = "Me <me@mymail.myserver.com>"
oMsg.To = "Bloke <bloke@somewere.com>"
oMsg.Subject = "Test"
oMsg.HTMLBody = "<html><body>Hello World</body></html>"
oMsg.Send
当然,您需要从存储用户个人资料的某个持久性存储中获取“收件人”字段,并从发布的字段中提供正文的主题和部分。
您还需要在 IIS 应用程序上配置邮件设置,以便为 CDO.Message 对象提供默认配置。如果您需要使用以下功能自己配置邮件设置,则失败:-
Function GetConfiguration()
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory"
Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2
Dim GetConfiguration : SetGetConfiguration = CreateObject("CDO.Configuration")
With GetConfiguration.Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "mysmtp.myserver.com"
.Item(cdoSMTPServerPort) = 25
.Update
End With
End Function
然后在调用send之前将此行添加到代码主体中:-
Set oMsg.Configuration = GetConfiguration()
只需调整 GetConfiguration 内容以使用您的 SMTP 服务器主机名。
注意不要使用已弃用的 CDONTS。
【讨论】:
我假设你使用的是 ASP 3.0,你可以使用 Cdonts.dll
代码:
cBody = Request.Form("Body")
cPara = = Request.Form("to")
<%@ Language=VBScript%>
<html>
<head>
<title>Email Sending</title>
</head>
<body>
<%
Dim cBody, n
For Each n In Request.Form
cBody = cBody & n & ": " & Request.Form(n) & chr(13)
Next
Set oCDO = Server.CreateObject("CDONTS.NewMail")
oCDO.From = "fernan@tudominio.com"
oCDO.To = "foc@tudominio.com"
oCDO.Subject = "Subject"
oCDO.Body = cBody
'oCDO.Cc = "resal@tudominio.com;webmaster@tudominio.com"
oCDO.Bcc = "quinqui@tudominio.com"
'oCDO.MailFormat = 0
oCDO.Send
Set oCDO = Nothing
Response.Write "¡Email Sent!!"
%>
</body>
</html>
【讨论】: