|
CodeAve.com - ASP - Miscellaneous | |||
|
|
||||
| Form Mail with Input Validation (Bamboo) | ||||
|
|
||||
<html> <title>CodeAve.com(Form Mail with Input Validation (Bamboo))</title> <body bgcolor="#FFFFFF"> <% ' Checks to see if the user inputted a value ' If so, remove leading and trailing blanks and upcase it 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")) ' Grab the length of the email address inputted email_len=len(u_email) ' if the user has inputted a value start checking it if trim(u_email) <> "" then ' Loop that will check each character of the inputted value ' for the @ and the dot for counter = 1 to email_len 'If there is an @ set u_at to the position it was found in if mid(u_email,counter,1)="@" then ' count the number of @'s at_counter=at_counter+1 ' if there is more than one add it to the message if at_counter > 1 then message = message &"There appear to be multiple @'s in the email address<br>" end if ' if this is the 1st @ note the location in the string if u_at = "" then u_at=counter end if ' end check for first @ end if ' end check for the @ 'If there is an dot (.) set u_dot to the position it was found in 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 ' Check to see if the dot comes after the @ ' and that the first dot is not the last character 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 @ ' Scan the user input to see that all inputted values are either a letter A-Z, ' a number 0-9 or if the character is a . or and @. 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 ' If it's an invalid charcter add it to the display message 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 ' Check the email field for input if is blank ' then add to the display message if (u_email = "") and (u_submit <> "") then message= message & "Please enter an email address<br>" end if ' Check the subject field for input if is blank ' then add to the display message if (u_subject = "") and (u_submit <> "") then message= message & "Please enter a subject<br>" end if ' Check the message field for input if is blank ' then add to the display message if u_body = "" and u_submit <> "" then message= message & "Please enter a message" end if ' If the email address is not OK than display the message(s) ' and show the text box for user input with the last value pre-filled 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"> <% ' If all seems ok begin processing the email else ' Write the email contents to the browser 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>" ' This is the begining of the email creation and execution ' Remove the comments befor each statement that begins with Set or smtp ' to actually send the mail message ' Create a new mail object on the server ' set smtp = Server.CreateObject("Bamboo.SMTP") ' Declare the name of the server ' smtp.Server = "mail.youserver.ext" ' Declare what address the message is being sent to ' The Addressee is set to the inputted value ' smtp.Rcpt = u_email ' Declare the address sending the mail ' smtp.From = "bamboo_demo@yourserber.ext" ' Write the users subject to the subject of the email ' smtp.Subject = u_subject ' Write the users message to the body of the email ' smtp.Message = u_body ' Send the message ' smtp.Send ' Clean up the server ' set smtp = Nothing end if %>
|
||||
|
|
||||