ASP网站制作之ASP进阶之文章在线办理更新(六)
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。在线ASP进阶之文章在线办理更新--文章转发邮箱篇沙岸小子
这是本程序的次要特征功效之一。在ASP中,能够经由过程使用NT中的SMTP来完成邮件的在线发送,不外你必需确认你的体系内里安装了WINDOWSNTOPTONPACK的SMTPSERVICE,在本文章办理体系中就是经由过程其来完成文章的在线发送的,只不外同时必需挪用数据库中的内容并把它发送到邮箱中。
上面就为人人先容其详细完成的历程,以下是邮件发送程序(sendemail.asp)的详细代码和注解:
"拔出翻开数据库毗连文件
<!--#includefile="conn.asp"-->
<html>
<head>
<metaHTTP-EQUIV="Content-Type"CONTENT="text/html;charset=gb2312">
<title>发送文章到邮箱</title>
</head>
<body>
<%
"界说相干变量
dimemail
dimfounderr
dimcon
dimrs,sql
fouunderr=false
dimerrmsg
email=trim(Request.Form("email"))
"使用事前界说的IsValidEmail函数判别email誊写是不是有误
ifIsValidEmail(email)=falsethen
errmsg=errmsg+"<li>您的email有毛病!</li>"
founderr=true
endif
%>
<divalign=center>
<tableborder="0"cellspacing="0"width="85%"cellpadding="0"
height="17"class="tableclass">
<tr>
<tdwidth="100%">
<%
iffounderr=falsethen
dimobjCDOMail
"经由过程从list.asp前往的ID值断定必要翻开纪录集article的内容
setrs=server.createobject("adodb.recordset")
sql="select*fromarticlewherearticleid="&request("id")
rs.opensql,conn,1,1
"使用CDONTS.NewMail发送邮件
SetobjCDOMail=Server.CreateObject("CDONTS.NewMail")
"这里的FROM为发信人的地点,TO为收信人的地点,在这里为从list.asp文件前往的email
objCDOMail.From="wodeail@etang.com"
objCDOMail.To=email
"掏出数据库中指定纪录会合的文章题目字段title做邮件的主题
objCDOMail.Subject=rs("title")
"掏出数据库中指定纪录会合的文章内容字段content做邮件的内容部分,在这里能够用"&&"拔出本人的内容
objCDOMail.Body="文章题目:"&rs("title")&chr(13)&chr(10)&"注释:"&rs("content")&chr(13)&chr(10)&"接待持续利用ASP动网前锋论坛http://aasp.yeah.net"&chr(13)&chr(10)&"Email:wodeail@etang.com"
objCDOMail.Send
"封闭毗连
SetobjCDOMail=Nothing
rs.close
setrs=nothing
%>
<p><br></p>
<divalign="center">
<p><fontsize="3">文章发送乐成,请再持续浏览本站其他文章;有甚么成绩请在论坛提出!</font></p>
<p><fontsize="3">感激您自始自终地对<b><fontcolor="#FF0000">ASP动网前锋(http://aasp.yeah.net)</font></b>的撑持,这里的建立离不开您的定见和倡议!
</font></p>
</div>
<%
response.write"</td></tr></table>"
"假设发送历程堕落,显现堕落信息
else%>
<p><fontcolor="#FF0000"><br>
Sorry,您的信息不克不及准确发送,请再细心反省以下的项目是不是准确:</font>
<ul>
<fontcolor="#FF0000"><%response.writeerrmsg%>
</font>
</ul></td>
</tr>
</table>
</div>
<ddalign="center">
<divalign="center"><br>
</div>
</form>
<%
endif
%>
</body>
</html>
<%
"判别EMAIL地点是不是准确
functionIsValidEmail(email)
dimnames,name,i,c
IsValidEmail=true
names=Split(email,"@")
ifUBound(names)1then
IsValidEmail=false
exitfunction
endif
foreachnameinnames
ifLen(name)<=0then
IsValidEmail=false
exitfunction
endif
fori=1toLen(name)
c=Lcase(Mid(name,i,1))
ifInStr("abcdefghijklmnopqrstuvwxyz_-.",c)<=0andnotIsNumeric(c)then
IsValidEmail=false
exitfunction
endif
next
ifLeft(name,1)="."orRight(name,1)="."then
IsValidEmail=false
exitfunction
endif
next
ifInStr(names(1),".")<=0then
IsValidEmail=false
exitfunction
endif
i=Len(names(1))-InStrRev(names(1),".")
ifi2andi3then
IsValidEmail=false
exitfunction
endif
ifInStr(email,"..")>0then
IsValidEmail=false
endif
endfunction
%>
</p>ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失; 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
页:
[1]