How can I send email with ASP?

Posted on 2001-06-08
Last Modified: 2012-08-13
How can I send email with ASP?
The code listed below gives me an error like this:

Error Type:
Server object, ASP 0177 (0x800401F3)
Invalid ProgID. For additional information specific to this message please visit the Microsoft Online Support site located at:

I have installed a Virtual SMTP server on my IIS server, I have access to a real linux SMTP server, which is not on my server machine, please help me guys?!
Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = "" ' Specify a valid SMTP server
Mail.From = "" ' Specify sender's address
Mail.FromName = "VeryHotCakes Sales" ' Specify sender's name

Mail.AddAddress "", "Andrew Johnson, Jr."
Mail.AddAddress "" ' Name is optional
Mail.AddReplyTo ""
Mail.AddAttachment "c:\images\cakes.gif"

Mail.Subject = "Thanks for ordering our hot cakes!"
Mail.Body = "Dear Sir:" & Chr(13) & Chr(10) & _
    "Thank you for your business."

On Error Resume Next
If Err <> 0 Then
  Response.Write "Error encountered: " & Err.Description
End If
Question by:lentzi
LVL 15

Expert Comment

ID: 6167995

Its pretty straight forward... do the following:


set oMail = server.createobject("CDONTS.NewMail")

oMail.from = "" = ""
oMail.subject = "The subject line"
oMail.Body = "The body of the email"



Expert Comment

ID: 6168006
liebrands's solution required that you have an SMTP server setup inside of IIS - this is not a band thing, it's just one alternative.

i prefer to use JMail from Dimac. - it's a free email component that i find easier to use than CDONTS, and more powerful as well.

that's just my opinion. alot of people use CDO and CDONTS - it works great. i just prefer JMail.
LVL 20

Accepted Solution

Silvers5 earned 100 total points
ID: 6168140
Comment out the on error resume next to see the error, basically I guess you should give the iusr read permission over the gif file.. check


How do I send e-mail from ASP?

There are several components that enable you to do this. You may already have one, if you have an SMTP server installed alongside IIS - it's called CDONTS. Here is the documentation and an article for CDONTS:
There are also several other components available (if I missed any, let us know)
    Genusa's AspMail
    Dundas Mailer
    w3 Jmail
    HTMLMailer / HTMLMailerPlus
    Mabry Mail
    AB Active X Mailer

How do I send e-mail with CDONTS?

To send an e-mail with Active Server Pages requires some kind of component. There are many third party components available (see bottom of page), but one of the most readily available is the free Microsoft mail component CDONTS, which ships with the Option Pack for WinNT 4.0.
Now, once you stop trying to comprehend it's name (I know I can't), it is quite a simple mail program to use once you set it up.
CDO works by using the SMTP service in IIS, unless Exchange is installed, then it will just use Exchange's SMTP system. Before continuing, make sure you have your SMTP service properly set up. You can check by using the Microsoft Management Consol (MMC), or you can look to see if CDONTS.DLL is in your system32 directory.
To send e-mail from ASP, all you have to do is define the object and use the ".send" function.
    Set MailObj = Server.CreateObject("CDONTS.NewMail")
    MailObj.Send "", "", "My Subject", "My Text"
Wasn't that easy?
Sending an Attachment
Another very commonly used function of CDO is to send attachments with an e-mail.
    Set MailObject = Server.CreateObject("CDONTS.NewMail")
    MailObject.Subject="Subject Text Here"
    MailObject.Body="Body Text Here"
    MailObject.AttachFile att_file,f_name
Along with CDO, there are many third party components that can also be used for sending e-mail. Many of them have more features than CDO. You might want to have a look at:
If you get "Permission Denied" errors, see the following KB article:

LVL 18

Expert Comment

ID: 6169410
If you are running IIS5 on W2K you don't even need an SMTP server, just the SMTP Service...

Expert Comment

ID: 6176109
hi lentzi,

i just want to make sure... have you registered the persits mail component or dll on your web server? this is achieved by running windows' regsvr32 and passing to it as a parameter the absolute pathname of the dll. if yes, try rebooting your server if you also haven't done this.

anyway, your invalid progid error just says that our asp engine could not find the persits.mailsender programmatic id in the registry.

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

I recently decide that I needed a way to make my pages scream on the net.   While searching around how I can accomplish this I stumbled across a great article that stated "minimize the server requests." I got to thinking, hey, I use more than one…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now