使用asp实现支持附件的邮件系统(三)
最后,我们来讲讲如何把内容从数据库中读出来,内容有这么几类,一类是浏览器上可以显示的,例如*.htm,一类是需要下载的,例如*.exe,还有一种是浏览器可以显示但是不能够让他显示的,例如*.asp,请看代码:
<% Response.Buffer= true Response.Clear function getname(oriname) thename=oriname do while instr(thename,"/")>0 thename=mid(thename,instr(thename,"/")+1) loop do while instr(thename,"")>0 thename=mid(thename,instr(thename,"")+1) loop getname=thename end function function canexec(thechar) if instr(thechar,".asp")>0 then canexec=false exit function end if if instr(thechar,".asa")>0 then canexec=false exit function end if if instr(thechar,".aspx")>0 then canexec=false exit function end if if instr(thechar,".asax")>0 then canexec=false exit function end if canexec=true end function mailID=request("mailID") se=request("se") if se<>1 and se<>2 and se<>3 then response.end end if Set conn=server.createobject("adodb.connection") set rs=server.createobject("adodb.recordset") conn.open "DSN=;UID=;PWD=" sql="select * from t_mail where ((geterempl like '%"%26amp;session("myid")%26amp;"%' or deleempl like '%"%26amp;session("myid")%26amp;"%' or receempl like '%"%26amp;session("myid")%26amp;"%' ) and (not deleverempl like '%"%26amp;session("myid")%26amp;"%')) and mailid='"%26amp;mailid%26amp;"' " rs.open sql,conn,3,3 if rs.eof or rs.bof then response.end end if if rs("filecontenttype_"%26amp;trim(se))<>"text/plain" or (not canexec(getname(trim(rs("filename_"%26amp;trim(se)))))) then Response.ContentType = rs("FileContentType_"%26amp;trim(se)) end if 'Response.AddHeader "content-type","application/x-msdownload" if instr(response.contenttype,"application")>0 then response.AddHeader "Content-Disposition","attachment;filename="%26amp;getname(trim(rs("filename_"%26amp;trim(se)))) end if Response.BinaryWrite rs("FileContent_"%26amp;trim(se)) rs.close set rs=Nothing conn.close set conn=nothing %> 文章到这里就结束了,至于邮件数据库的数据结构大家根据代码自己琢磨吧! 上一篇:通过ASP发送带附件的HTML格式邮件例程可以带附件 下一篇:使用asp实现支持附件的邮件系统(二) 更多相关文章
|
推荐文章
精彩文章
|