Sending Mail with ASP

One of the most common functional uses of ASP is to use it to send email messages. It can send a thank-you after a contest entry is made, send details of an order, send reminders of upcoming events, send out newsletters weekly, and much, much more.

Sending mail is extremely easy with ASP and CDONTS, which comes for free with just about any IIS installation out there. You start out with some basic variables, ToEmail, FromEmail, and Subject. You can probably guess what those three are for 🙂 So you start out with:

FromEmail = "webmaster@YOURWEBSITE.com"
ToEmail = "destination@THEIRWEBSITE.com"
Subject = "Here is your order confirmation"

Note that normally you’d probably get the ToEmail value from a form or other user input. Now, on to the mail message. You just create a long text string, with carriage returns after every line. In ASP, you can use CHR(13) for a carriage return. So you could do:

EmailMessage = "Thank you for order!" & CHR(13) & _
"Here are the details of your order." & CHR(13) & _
"...details..." & CHR(13) & _
"...details..." & CHR(13)

OK, now time to send. You can also set the importance if you wish, which most email packages show as a little exclamation mark by a high priority message or a down arrow by a low priority one.

Impt = 1

You’re ready to send! Now it’s only four quick statements to get the mail to send out.

Dim objMail
set objMail = CreateObject("CDONTS.NewMail")
objMail.Send FromEmail,ToEmail,Subject,EmailMessage,Impt
set objMail = Nothing

If you have trouble with CDONTS, you can also try CDO instead. Here’s a more complete version to show all the variables.

Set objErrMail= Server.CreateObject("CDO.Message")
 With objErrMail
		objErrMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
		objErrMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
		objErrMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
		objErrMail.Configuration.Fields.Update
	  .From = "FROM@FROMSITE.COM"
	  .To =  "TO@TOSITE.COM"
	  .Subject = "MESSAGE SUBJECT"
	  .TextBody = "MESSAGE TEXT"
	  .Send
 End With
Set objErrMail = Nothing

And you’re set! You can now stick this code in a loop, and loop through all names in a database, or you can hook it into a form, and send mail to whoever filled in a form.

This page is lesson nine in my free ASP Classic Course. Click below to enjoy the full course from start to finish!

Free Online ASP Course