<html>
<title>www.ttasp.net(Form Mail with Input Validation (CDONTS))</title>
<body bgcolor="#FFFFFF">
<%
'检查看看用户是否输入了值
‘然后删除开头和结尾的空白然后删除它
u_email= ucase(trim(request.form("u_email")))
u_subject=trim(request.form("u_subject"))
u_body=trim(request.form("u_body"))
u_submit=trim(request.form("u_submit"))
'保持输入的邮件地址的长度
email_len=len(u_email)
'如果用户已经输入了值,就开始检查它
if trim(u_email) <> "" then
'循环检查每个输入值的字符
‘the @ and the dot
for counter = 1 to email_len
'如果被发现有@,就设置它在相应的位置
if mid(u_email,counter,1)="@" then
'计算出@的数量
at_counter=at_counter+1
'如果有不止一个,就把它加到信息里面去
if at_counter > 1 then message = message &"There appear to be multiple @'s in the email address<br>" end if
'如果这是第一个@,把它标记到字符串里面的位置
if u_at = "" then
u_at=counter
end if ' end check for first @
end if ' end check for the @
'如果被发现有(.),就设置它在相应的位置
if mid(u_email,counter,1)="." then
if u_dot = "" then
u_dot=counter
end if 'end check for the first dot
end if 'end check for the dot
next
'检查看看如果点在@后面
‘那么第一个点不是最后的字符
if (u_dot < u_at) or (len(u_email) <= u_dot+1) or ((u_dot-u_at) < 2) or (u_at < 2)then
message = message & "Email convention appears to be wrong <br>"
end if 'end check for dot after the @
‘浏览用户输入看,如果字符是一个.或者@
‘所有的输入值可能是A-Z之间的字母
‘可能是0-9之间的一个数字
for counter=1 to len(u_email)
if (mid(u_email,counter,1) <> "/") and ((mid(u_email,counter,1) > chr(45)) and (mid(u_email,counter,1) < chr(58))) or ((mid(u_email,counter,1) > chr(63)) and (mid(u_email,counter,1) < chr(91))) then
else
'如果有一个无效字符把它添加到显示信息
message = message & "Invalid charcter "& mid(u_email,counter,1)& " found in email address <br>"
end if 'end check for invalid characters
next 'end loop for invalid characters
end if 'end check for user input
‘如果是空白
‘那要检查信息输入
if (u_email = "") and (u_submit <> "") then
message= message & "Please enter an email address<br>"
end if
'检查输入如果是空白的主题区域
‘然后添加到显示信息
if (u_subject = "") and (u_submit <> "") then
message= message & "Please enter a subject<br>"
end if
'检查输入如果是空白的信息区域
‘然后添加到显示信息
if u_body = "" and u_submit <> "" then
message= message & "Please enter a message"
end if
‘如果邮件地址不对那要显示信息
‘然后显示用户的最后预充值的文本框的值
if message <> "" or u_email = "" then
response.write message %>
<form action="<%= request.servervariables("script_name") %>" method="post">
<b>Email:</b><br>
<input type="text" name="u_email" value="<%= lcase(u_email) %>">
<br><b>Subject:</b><br>
<input type="text" name="u_subject" size="50" value="<%= u_subject %>">
<br><b>Message:</b><br>
<textarea rows="15" name="u_body" cols="50"><%= u_body %></textarea>
<input type="hidden" name="u_submit" value="Yes">
<input type="submit" value="Send Mail">
<%
'如果所有的内容都正确
开始处理邮件
else
'写出邮件内容到浏览器
response.write "<b>Email:</b><br> " & lcase(u_email) & "<br>"
response.write "<br><b>Subject:</b><br> " & u_subject & "<br>"
response.write "<br><b>Message:</b><pre>" & u_body & "</pre>"
‘这是邮件创建和执行的开始
‘在每个语句删除
'创建一个新的邮件对象到服务器
' set sm = server.CreateObject("CDONTS.Newmail")
'声明什么地址发送到信息
' sm.from = "[email protected]"
'写出邮件的主体用户的主题
' sm.Subject = u_subject
‘声明地址的什么信息被发送
‘收件人被设置为输入值
' sm.to = u_email
'写出用户信息的邮件主体
' sm.body = u_body
'发送信息
' sm.Send
'清除服务器对象
' set sm = nothing
end if %>
输入验证码的表单邮件(CDONTS)
相关内容推荐
404错误的页面(CDONTS)
基本的404错误或者没有找到页面的文件会有两种特殊的目的。首先,为了警示用户他们期待的当前没有利用的术语,而不是你的主页可能提供的通用页面或者更糟糕的是没有找到页面的
请求表单
在asp文档之间传数据是能以很多种方式完成的。询问表单是指解析值从form action method="post" 传递的方法。不像method="get" url不包含变量名称或者他们的值。这不但能阻止用户在地址栏输入
常用字符串转换数字函数
Ccur(str)'转换为货币类型的 cdbl(str)'转换为浮点型的 以上保留小数点数 CInt 函数 描述 返回表达式,此表达式已被转换为 Integer 子类型的 Variant。 语法 CInt(expression) expression 参数是任
查看ASP文档的来源
查看来自网页浏览器只允许输出html文本的ASP文档的来源。任何的写入的文本在% %之间都不会输出到浏览器,除非是一个被插入的写入命令。这是对于安全很有用的,但是对于制作需要看
ASP语法
HTML 是如何使用标签来创建网页, ASP 需要标签来创建动态 Web 站点。这些标签并不像在 HTML 中使用的典型标签,所以一定要注意使用 ASP 标记和标签使用的 HTML 之间的区别。 ASP 标签 这