ASP编程:ASP情况下邮件列表功效的完成 (四)
SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。 最初要完成的功效是邮件的编纂和发送。这局部功效由Email_List.asp文件供应,其界面如图6所示。接上去咱们就来剖析这个文件。Email_List.asp的外部任务进程和edit_record.asp很相似。办理员在表单中写作邮件并提交它,体系将选择一切Mail_List字段值为“是”的纪录,然后将新邮件的拷贝发送给这些纪录中的Guest_Mail地址。
每次发送邮件咱们都从头创立mailer对象,发送完成后封闭它。这一点十分主要,这是因为咱们需求修正邮件的注释,到场作废定阅邮件列表的URL和ID号。
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
strSubject = Request.Form("txtSubject")
strBody = Request.Form("txtBody")
strFrom = Request.Form("txtFrom")
' 从数据库拔取收件人纪录
strSQL_SelectEmail = "SELECT Guests.Guest_ID, Guests.Guest_Email " & _
" FROM Guests WHERE ((Guests.Mail_List)=-1);"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open strDSNPath
Set rsMail = oConn.Execute(strSQL_SelectEmail)
if rsMail.BOF = True and rsMail.EOF = True then
...数据库为空提醒,略...
else
rsMail.MoveFirst
Do While Not rsMail.EOF
' 创立对象
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
' 填写其它邮件题目信息
Mailer.FromName = strFrom
Mailer.FromAddress = strEmailFrom
Mailer.RemoteHost = strHost
Mailer.Subject = strSubject
Mailer.BodyText = ...设置邮件内容,略...
strTo = rsMail.Fields("Guest_Email").Value
If strTo < > "" then
Mailer.Recipient = strTo
if Mailer.SendMail then
...发送胜利提醒,略...
else
...发送掉败提醒,略...
end if 'Mailer.SendMail
end if 'strTo < > ""
rsMail.MoveNext
Set Mailer = Nothing
Loop
end if 'rsMail.BOF = True and rsMail.EOF = True
rsMail.Close
Set rsMail = Nothing
oConn.Close
Set oConn = Nothing
end if 'REQUEST_METHOD = "POST"
这里需求注重的是,咱们将变量strHost的值赋给ASPMail的实例对象的RemoteHost属性。因而,必需包管strHost的值是一个适合的邮件办事器名字(如mail.mydomain.com)。 asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关. 掌握asp的特性而且一定要知道为什么。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
页:
[1]