ASP 101 - Active Server Pages 101
Advertise Here
 internet.com
QUICK TIP: Quick query design

Home
News
* Samples
Forum
Articles
Resources
Puzzles
Links
Search

Please visit our
Partners
Numega
AspUpload
activePDF
ASP-Connections



internet.com
  Internet News
  Internet Investing
  Internet Technology
  Windows Internet Tech.
  Linux/Open Source
  Web Developer
  ECommerce/ Marketing
  ISP Resources
  ASP Resources
  Wireless Internet
  Downloads
  Internet Resources
  Internet Lists
  International
  EarthWeb
  Career Resources

  Search internet.com
  Advertise
  Corporate Info
  Newsletters
  E-mail Offers

internet.commerce
  Be a Commerce Partner
  Web Dev Support Live
  Free Barter Account
  Internet Jobs
  Shop on Your Site
  Accept Checks Now
  Hosted eCRM Solutions
  IT Services

Windows Internet Tech.
  15 Seconds
  4GuysFromRolla.com
  ASP 101
  ASPWatch
  ASP Wire
  BHS.com
  Swynk.com
  VB Wire
  WinDrivers.com
  Win Planet
ASP Source Code:
<%
Dim strTo, strSubject, strBody 'Strings for recipient, subject, boby
Dim objCDOMail 'The CDO object


'First we'll read in the values entered
strTo = Request.Form("to")

'These would read the message subject and body if we let you enter it
'strSubject = Request.Form("subject")
'strBody = Request.Form("body")

strSubject = "Sample E-mail sent from ASP 101!"

' This is multi-lined simply for readability
strBody = "This message was sent from a sample at http://www.asp101.com.  "
strBody = strBody & "It is used to show people how to send e-mail from an "
strBody = strBody & "Active Server Page.  If you did not request this "
strBody = strBody & "e-mail yourself, your address was entered by one of "
strBody = strBody & "our visitors.  We do not store these e-mail addresses."
strBody = strBody & "  Please address all concerns to webmaster@asp101.com."

' Some spacing:
strBody = strBody & vbCrLf & vbCrLf

strBody = strBody & "This was sent to: "

' A lot of people have asked how to use form data in the emails so
' I added this line to the sample as an example of incorporating form
' data in the body of the email.
strBody = strBody & Request.Form("to")

' A final carriage return for good measure!
strBody = strBody & vbCrLf


'Ok we've got the values now on to the point of the script.

'We just check to see if someone has entered anything into the to field.
'If it's equal to nothing we show the form, otherwise we send the message.
'If you were doing this for real you might want to check other fields too
'and do a little entry validation like checking for valid syntax etc.

' Note: I was getting so many bad addresses being entered and bounced
' back to me by mailservers that I've added a quick validation routine.
If strTo = "" Or Not IsValidEmail(strTo) Then
	%>
	<FORM ACTION="./email.asp" METHOD="post">
		Enter your e-mail address:<BR>
		<INPUT TYPE="text" NAME="to" SIZE="30"></INPUT>

		<!--  These would be used if we decided to let you edit them
		Subject:&nbsp;
		<INPUT TYPE="text" NAME="subject" SIZE="30"></INPUT><BR>
		
		Message:&nbsp;
		<TEXTAREA NAME="body" ROWS="10" COLS="40" WRAP="virtual"></TEXTAREA><BR>
		-->

		<INPUT TYPE="submit" VALUE="Send Mail!"></INPUT>
	</FORM>
	<%
Else
	' Create an instance of the NewMail object.
	Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
	
	' Set the properties of the object
	
	'***********************************************************
	' PLEASE CHANGE THESE SO WE DON'T APPEAR TO BE SENDING YOUR
	' EMAIL. WE ALSO DON'T WANT THE EMAILS TO GET SENT TO US
	' WHEN SOMETHING GOES WRONG WITH YOUR SCRIPT... THANKS
	'***********************************************************
	
	' This syntax works fine
	'objCDOMail.From = "webmaster@asp101.com"
	' But this gets you the appearance of a real name!
	objCDOMail.From = "ASP 101 Webmaster <webmaster@asp101.com>"
	objCDOMail.To = strTo
	objCDOMail.Subject = strSubject
	objCDOMail.Body = strBody

	' There are lots of other properties you can use.
	' You can send HTML e-mail, attachments, etc...
	' You can also modify most aspects of the message
	' like importance, custom headers, ...
	' Check the documentation for a full list as well
	' as the correct syntax.

	' Some of the more useful ones I've included samples of here:
	'objCDOMail.Cc = "user@domain.com;user@domain.com"
	'objCDOMail.Bcc = "user@domain.com;user@domain.com"
	'objCDOMail.Importance = 1 '(0=Low, 1=Normal, 2=High)
	'objCDOMail.AttachFile "c:\path\filename.txt", "filename.txt"

	' I've had several requests for how to send HTML email.
	' To do so simply set the body format to HTML and then
	' compose your body using standard HTML tags.
	'objCDOMail.BodyFormat = 0 ' CdoBodyFormatHTML
	
	'Outlook gives you grief unless you also set:
	'objCDOMail.MailFormat = 0 ' CdoMailFormatMime

	' Send the message!
	'objCDOMail.Send
	
	' Set the object to nothing because it immediately becomes
	' invalid after calling the Send method.
	Set objCDOMail = Nothing

	'Response.Write "Message sent to " & strTo & "!"
	Response.Write "Message ARE NO LONGER BEING SENT because of all the abuse the system was receiving!"
End If
' End page logic
%>

<% ' Only functions and subs follow!

' A quick email syntax checker.  It's not perfect,
' but it's quick and easy and will catch most of
' the bad addresses than people type in.
Function IsValidEmail(strEmail)
	Dim bIsValid
	bIsValid = True
	
	If Len(strEmail) < 5 Then
		bIsValid = False
	Else
		If Instr(1, strEmail, " ") <> 0 Then
			bIsValid = False
		Else
			If InStr(1, strEmail, "@", 1) < 2 Then
				bIsValid = False
			Else
				If InStrRev(strEmail, ".") < InStr(1, strEmail, "@", 1) + 2 Then
					bIsValid = False
				End If
			End If
		End If
	End If

	IsValidEmail = bIsValid
End Function
%>


Output

Samples

Home | News | Samples | Forum | Articles | Resources | Puzzles | Links | Search

Copyright 1999-2001 INT Media Group, Incorporated All Rights Reserved.
Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.
http://www.internet.com/