| 
 | 
 
          
            | 
                 
                  | ASP进阶之文章在线管理更新(六) |   
                  | 〖编辑:Cloudy | 浏览:人次〗 |  
                 
                  | 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>  <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。下一节我将为大家介绍本管理系统的主页面,也就是显示所有文章的标题和连接。
 
 转载请注明出处http://asky.on.net.cn
 |   
                  | 录入时间:2006-06-04 18:51:55    [打印本页] 
                    [关闭窗口] 
                    [返回顶部]
 |  
                
                  | 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |  |  
 |