home *** CD-ROM | disk | FTP | other *** search
- <%
- '*******************************************************
- '* ASP 101 Sample Code - http://www.asp101.com *
- '* *
- '* This code is made available as a service to our *
- '* visitors and is provided strictly for the *
- '* purpose of illustration. *
- '* *
- '* Please direct all inquiries to webmaster@asp101.com *
- '*******************************************************
- %>
-
- <%
- 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:
- <INPUT TYPE="text" NAME="subject" SIZE="30"></INPUT><BR>
-
- Message:
- <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 & "!"
- 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
- %>
-