欢迎光临
我们一直在努力

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

建站超值云服务器,限时71元/月

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。下一节我将为大家介绍本管理系统的主页面,也就是显示所有文章的标题和连接。

转载请注明出处http://asky.on.net.cn

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » ASP进阶之文章在线管理更新(六)
分享到: 更多 (0)

相关推荐

  • 暂无文章