这是本程序的主要特色功能之一。在ASP中,可以通过利用NT中的SMTP来实现邮件的在线发送,不过你必须确认你的系统里面安装了WINDOWS NT OPTON PACK 的SMTP SERVICE,在本文章管理系统中就是通过其来实现文章的在线发送的,只不过同时必须调用数据库中的内容并把它发送到邮箱中。
下面就为大家介绍其具体实现的过程,以下是邮件发送程序(sendemail.ASP)的具体代码和注解:
"插入打开数据库连接文件
发送文章到邮箱
<%
"定义相关变量
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+"您的email有错误!"
founderr=true
end if
%>
height="17" class="tableclass">
文章发送成功,请再继续阅读本站其他文章;有什么问题请在论坛提出!
感谢您一如既往地对ASP动网先锋(http://aasp.yeah.net)的支持,这里的建设离不开您的意见和建议!
<%
response.write "
"
"假如发送过程出错,显示出错信息
else%>
Sorry, 您的信息不能正确发送,请再仔细检查以下的项目是否正确:
<%
"判断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。下一节我将为大家介绍本管理系统的主页面,也就是显示所有文章的标题和连接。

