有输入验证的表单邮件(JMail)

ASP新手入门
有很多种人们使用网站获取回馈信息的很多种方式。最受欢迎的方式之一是通过输入表单。利用输入表单会允许你做的最多的是输入,需要某一个填充的区域,发送输出到数据库或者创建邮件。下面的例子会用到用户输入值,查证被填充的区域,利用JMail发送邮件信息。这个演示版本使用了邮件命令注释来防止滥用ww.ttasp.net服务器。


<html> <title>www.ttasp.net(Form Mail w/ Input Validation (JMail))</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 '循环检查每个@和圆点输入值的字符 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或者JMail作为开头的语句之前删除注释 '实际上是发送邮件信息 '设置t JMail = Server.CreateObject ("JMail.SMTPMail") '这是你的本地SMTP服务器 '把anyserver.ext 改变为你的服务器名称 ' JMail.ServerAddress = "mail.anyserver.ext:25" '声明发件人 ' JMail.Sender = "[email protected]" '获得来自表单的收件人的邮箱(标记出缺乏的相同标志) '这会发送信息到输入的地址 ' JMail.AddRecipient u_email '设置邮件主题为输入值 ' JMail.Subject = u_subject '设置邮件输入值的主体 ' JMail.Body = u_body '发送它…… '执行JMail end if %>

相关内容推荐

编写第一个ASP程序

现在有很多关于ASP编程的教程。其中有些是对于你有帮助,有些完全没有用。甚至有些写得是误人子弟。无论如何,你读过一些关于ASP的内容,现在你已经准备好构建第一个应用程序。

asp获取IP地址的函数

FunctionGetIp() DimDulIp,ProIP DulIp=Request.ServerVariables("HTTP_X_FORWARDED_FOR") ProIP=Request.ServerVariables("REMOTE_ADDR") IfDulIp=""Then GetIp=ProIP Else GetIp=DulIp EndIf EndFunction

ASP-条件语句

有时,当我们写代码时,我们要为作出不同的决定而执行不同的操作。我们可以使用条件语句中的代码来做到这一点。条件语句是一套用于执行基于不同条件的不同动作的命令。 为了支

ASP表单输入到HTML

ASP能写.html或者任何其他的直接到web服务器的文档文本(你需要写文本输出到写权限的目录)。这是能够不需要上传PC的文件用户输入即时的发布信息。 下面的例子有四个输入区域(标

周的天数

想在asp显示当前一周有多少天吗?这个代码会把握住今天的值和利用到案例选择显示一周的天数。 % date_value = date() %%= date_value %br% dayofweek=weekday(date_value) %day number in week %= dayofweek %br%

返回
顶部