论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > asp教程
Tag:入门,文摘,实例,技巧,iis,表单,对象,上传,数据库,记录集,session,cookies,存储过程,注入,分页,安全,优化,xmlhttp,fso,jmail,application,防盗链,stream,组件,md5,乱码,缓存,加密,验证码,算法,ubb,正则表达式,水印,,日志,压缩,url重写,控件,函数,破解,触发器,socket,ADO,初学,聊天室,留言本,视频教程

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

文章类别:asp | 发表日期:2008-10-5 20:43:24

ASP进阶之文章在线管理更新--文章转发邮箱篇

作者:沙滩小子

   这是本程序的主要特色功能之一。在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>&nbsp; <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。下一节我将为大家介绍本管理系统的主页面,也就是显示所有文章的标题和连接。
视频教程列表
文章教程搜索
 
Asp推荐教程
Asp热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058