ASP进阶之文章在线管理更新(7)

这是本程序的主要特色功能之一。在ASP中,可以通过利用NT中的SMTP来实现邮件的在线发送,不过你必须确认你的系统里面安装了WINDOWS NT OPTON PACK 的SMTP SERVICE,在本文章管理系统中就是通过其来实现文章的在线发送的,只不过同时必须调用数据库中的内容并把它发送到邮箱中。

   下面就为大家介绍其具体实现的过程,以下是邮件发送程序(sendemail.asp)的具体代码和注解:

   "插入打开数据库连接文件
<!--#include file="conn.asp"-->
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<title>发送文章到邮箱</title>
</head>
<body>
<%
   "定义相关变量
dim email
dim founderr
dim con
dim rs,sql
fouunderr=false
dim errmsg
email=trim(Request.Form("email"))
   "利用事先定义的IsValidEmail函数判断email书写是否有误
if IsValidEmail(email)=false then
   errmsg=errmsg+"<li>您的email有错误!</li>"
   founderr=true
end if
%>
<div align=center>
  <table border="0" cellspacing="0" width="85%" cellpadding="0"
height="17" class="tableclass">  
    <tr>
      <td width="100%" >
<%
if founderr=false then
dim objCDOMail
   "通过从list.asp返回的ID值确定需要打开记录集article的内容
set rs=server.createobject("adodb.recordset")
sql="select * from article where articleid="&request("id")
rs.open sql,conn,1,1
   "利用CDONTS.NewMail发送邮件
Set objCDOMail = 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
   "关闭连接
Set objCDOMail = Nothing
rs.close
set rs=nothing
%>
<p><br></p>
        <div align="center">
          <p><font size="3">文章发送成功,请再继续阅读本站其他文章;有什么问题请在论坛提出!</font></p>
          <p><font size="3">感谢您一如既往地对<b><font color="#FF0000">ASP动网先锋(http://aasp.yeah.net)</font></b>的支持,这里的建设离不开您的意见和建议!
            </font></p>
        </div>
<%
response.write "</td></tr></table>"
   "假如发送过程出错,显示出错信息
else%>
        <p>  <font color="#FF0000"><br>
          Sorry, 您的信息不能正确发送,请再仔细检查以下的项目是否正确:</font>
        <ul>
      <font color="#FF0000"><%response.write errmsg%>
</font>
    </ul></td>
    </tr>
  </table>
</div>
  <dd align="center">
    <div align="center"><br>
    </div>
</form>
<%
end if
%>

</body>
</html>
<%
   "判断EMAIL地址是否正确
function IsValidEmail(email)
dim names, name, i, c
IsValidEmail = true
names = Split(email, "@")
if UBound(names) <> 1 then
   IsValidEmail = false
   exit function
end if
for each name in names
   if Len(name) <= 0 then
     IsValidEmail = false
     exit function
   end if
   for i = 1 to Len(name)
     c = Lcase(Mid(name, i, 1))
     if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then
       IsValidEmail = false
       exit function
     end if
   next
   if Left(name, 1) = "." or Right(name, 1) = "." then
      IsValidEmail = false
      exit function
   end if
next
if InStr(names(1), ".") <= 0 then
   IsValidEmail = false
   exit function
end if
i = Len(names(1)) - InStrRev(names(1), ".")
if i <> 2 and i <> 3 then
   IsValidEmail = false
   exit function
end if
if InStr(email, "..") > 0 then
   IsValidEmail = false
end if

end function
%>
    通过邮件的发送和检查程序,我们就可以轻易的把需要的文章发送到自己的邮箱,并且这个程序你也可以修改成邮件的在线发送程序,或者也可以做成论坛的帖子转送程序,当然在ASP中发送EMAIL的方法并不是就一种,有很多的第三方组件可以更好的实现这一功能,比如JMAIL。下一节我将为大家介绍本管理系统的主页面,也就是显示所有文章的标题和连接。

时间: 2016-07-02

ASP进阶之文章在线管理更新(7)的相关文章

ASP进阶之文章在线管理更新(十)

在线 ASP进阶之文章在线管理更新--文章删除篇 作者:沙滩小子 上一节我们介绍了文章管理的主页面,而这里的主页面只是显示了相关的连接而已,要是没有相关的程序来执行,那么也只是空连接而已,并不会显示出它的具体功用,而文章的在线删除是本系统不可缺少的一部分,虽然它的程序很简单,但是还是有必要为大家介绍一下. 在ASP中,对数据库的操作有更新(update).删除(delete)等操作,在本系统中对文章的删除就是利用了DELETE来进行文章的删除操作的,下面就为大家介绍本删除程序(delete.as

ASP进阶之文章在线管理更新(八)

在线 ASP进阶之文章在线管理更新--管理者登陆及验证篇 作者:沙滩小子 前面已经介绍了文章管理系统的前台程序,其前台程序主要就是提供给大家浏览的页面,主要是文章浏览.文章搜索.转发EMAIL等程序,其实开始介绍的文章添加和保存实际上是本系统的后台程序,但是文章的显示的具体内容是和文章的搜集.添加.保存是分不开的,要不然何来文章显示?我们现在开始介绍的文章管理系统的后台程序将具有以下功能:管理员登陆验证.文章在线添加(前面已经介绍过).文章在线修改删除.管理员密码修改.文章栏目修改添加及删除等主

ASP进阶之文章在线管理更新(九)

在线 ASP进阶之文章在线管理更新--管理页面篇 作者:沙滩小子 前面讲述了关于文章管理系统的密码及密码验证,通过密码验证可以限制一般浏览者所能进入的页面,这里所要限制的就是普通用户所不能进入的页面,也就是包括管理页面.删除文章页面.修改文章页面以及修改用户信息和修改栏目信息的页面.其实这里的主管理页面就是和文章管理系统的主页面类似的页面,只是在里面添加了一些有关管理内容的连接,以方便管理者对文章进行在线的修改删除等操作. 下面就为大家介绍这一页面的主要程序内容,由于它和文章管理的主页面差不多,

ASP进阶之文章在线管理更新(十一)

在线 ASP进阶之文章在线管理更新--文章修改篇 作者:沙滩小子 上一节我们讲了文章的在线删除的具体实现方法,在这里我将为大家介绍关于文章管理系统的在线修改.在本系统中,提供在线修改是一项必不可少的内容,因为当大家在网上更新文章的时候,总会碰上这样那样的问题,一个不小心就会造成添加的失误,有时候是内容不全,也有可能是文章的栏目原来添加的时候选错了,同时也就是这样那样的错误才显得这个程序的必要性. 文章的在线修改保存的程序其实和文章的添加和保存程序差不多,只是这里是对数据库进行更新,而文章添加则是

ASP进阶之文章在线管理更新(十二)

在线 ASP进阶之文章在线管理更新--管理员&栏目管理篇 作者:沙滩小子 前面的章节已经基本实现了文章管理系统的大部分功能,但是在本系统中,管理员姓名和密码以及栏目的更新都要自己在数据库中操作,这样并没有完全实现系统的完全在线管理更新,所以我最近对管理系统进行了进一步的完善,对其增加了相关功能,实现的真正意义上的文章管理系统在线管理更新! 实现这些功能也是通过对数据库的更新甚至新增内容来实现的,在这里活用数据库操作命令updata和addnew是关键,那些地方该用UPDATA,那些地方该用ADD

ASP进阶之文章在线管理更新(一)

在线 ASP进阶之文章在线管理更新--数据库连接篇 作者:沙滩小子 上一节为大家介绍了文章管理系统的数据库结构,建立了数据库以后,就要用ASP建立与数据库相关的程序,包括连接数据库.显示数据库内容.更新数据库等与之相关的程序,所以本篇将为大家讲述在管理系统中怎样与数据库进行连接,并打开数据库.在ASP程序中,一般都将建立数据库连接的程序单独放到一个文件中,以后就直接用<!--include file="xxx.asp"-->来调用就可以了,这样即省去了以后在需要建立数据库连

ASP进阶之文章在线管理更新(二)

在线 ASP进阶之文章在线管理更新--文章的添加篇 作者:沙滩小子 上一节已经介绍了关于文章管理的数据库连接,本篇将讲述文章的在线添加,当你找到了一篇很好的资料,并且想尽快放到你的网站上面,如果你首先想到的是快点做好一个页面,并且赶快用FTP把它上传,那么在这里这些都显得没有必要了,在这里你可以通过进入管理页面的添加文章,然后直接把文章粘贴复制过来就可以了,这也是本篇将要讲述的重点--文章的在线添加. 另外通过下面的一步步讲解,相信你可以领会到其中的意义,在这里对HTM代码将不做讲述. 新建一A

ASP进阶之文章在线管理更新(三)

在线 ASP进阶之文章在线管理更新--文章的保存篇 作者:沙滩小子 经过了文章的添加过程,我想大家更想知道ASP代码是怎样将页面上的信息保存到数据库里面的呢?而且这一功能还必须由另外一个页面来实现,由于ASP对数据库支持的完好性,由ASP来实现对数据库的操作是非常简单的,很容易对数据库进行新增.更新.修改.删除等操作,而我们的程序正好对这些方面都有一定的要求,下面就来介绍本程序中的文章保存页面! 新建一ASP文件savearticle.asp,以下注明其主要代码的具体含义: "插入数据库连接文件

ASP进阶之文章在线管理更新(四)

在线 ASP进阶之文章在线管理更新--对HTM代码的转化篇 作者:沙滩小子 前面为大家介绍了文章的在线添加以及保存,但如果仅仅是这样还不够的,因为有很多的文章本身带有的HTM代码必须完整的显示出来,而不是显示出它的效果来,这也就是说必须转化HTM代码以使它能具体显示出它的代码,比如:<a href="">你好</a>你并不想在页面上显示出它是一个连接,而是显示其代码,这就象FRONTPAGE里面的直接在编辑页面写代码,只不过FRONTPAGE提供了转化的功能而已

ASP进阶之文章在线管理更新(五)

在线 ASP进阶之文章在线管理更新--文章显示篇 作者:沙滩小子 前面已经为大家介绍了文章的添加保存,接下来就应该讲讲文章的显示了.在这里,你更加可以看出ASP的简单易用性,仅仅是通过一个文件,就可以对数据库内的所有文章进行显示.它主要是通过从连接返回的文章号(articleid)和栏目的信息(typeid)来打开数据库中指定的记录以及指定显示所需要的内容. 以下是文章显示页面(list.asp)的详细代码以及注解: "打开数据库连接<!--#include file="conn