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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Autosum input type=text when checkbox is true 28 94
Issue with Loop 4 56
VBScript FormatCurrency - how to change the currency symbol 4 46
Age between date range query (SP) 13 60
Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
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…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

816 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

13 Experts available now in Live!

Get 1:1 Help Now