Home | Demo | Contact Us | Download | Support | Purchase | Products

Product List
  "Many thanks for the prompt response - you are up far too early! Your changes have done the job - thanks. Keep up the good work."
Julian Voelcker
The Virtual World (UK) Limited

The box is not shipped.

aspNetMX is a
downloadable product.

What's new in version 3.0
aspNetMX is even more powerful than before. Check out some of the new features in 3.0.

New Multi-Threaded MailboxChecker Class
Probably the biggest feature added to aspNetMX is the MailboxChecker class. This is a multithread class, loaded with configurable options, to check millions of email addresses. The MailboxChecker class will check email addresses all the way to the mailbox level, in a mult-threaded environment, with built in throttling. If you need to validate 10,000 emails or 1,000,000 emails, this is the class for you.

New Licensing System
Starting with version 3.0, aspNetMX now uses a simple license key system. We've heard developers feedback, to get away from license files. Now, using a simple key, you can enable aspNetMX in your applications. When moving from server to server, you no longer have to worry about license files being left behind.

Extended the EmailValidator Web Validation Control
We've extended this validation control Additional new features allow you to check the last level of validation achieved, along with ignoring empty email addresses, and accessing the in-memory log.

Move Syntax Validation Options
In previous versions of aspNetMX, the email address syntax was simply checked by using complicated regular expressions. This allowed for edge case email address formats to be incorrectly discarded. New options allow you to select which set of rules you want to implement when syntactically validating email addresses.

Timed Validation Options
aspNetMX now includes the option for timed validation. This option allows the developer to attempt to validate the email address in a set number of milliseconds (configurable by the developer). No longer do you have to wait for unresponsive DNS or Mail servers before you get a result back.

aspNetMX now includes the option to check for greylisting validation. Mail servers that implement greylisting can be flagged, and then marked for later follow-up.

Proxy Server Functionality
aspNetMX now has support for proxy servers. Configure the MXProxy class for email validation from behing SOCKS proxies.

Better COM/ASP Support
aspNetMX now supports COM and classic ASP environments. Wrapper classes make it easier to call methods, that normally wouldn't be available to the COM world.

What's new in version 2.0
Below are some of the new features in 2.0.

New Events
Get even better control with your application with the new events in aspNetMX. Some of these events include the OnServerResponse, OnError, an OnLog event.

The new OnServerResponse allows you to inspect the SMTP response, line by line, word for word, so you can exactly see why an email address is rejected.

The new OnError event is raised every time an internal exception is thrown. Now you can control if you want that exception suppressed, or thrown.

The new OnLog event is raised every time a new log entry is created. Record entries to a central database, your own custom files, or create your own notification program.

New MX Checking Features
aspNetMX has even more powerful DNS MX record checking features. We've added the capability to recurse subdomains for the MX records. This helps when the recipient has mis-typed their domain name. aspNetMX also checks the literal domain names, so it validates SMTP servers found at the 'A' record of the domain. Another added bonus is the DnsRetries and DnsRetryPause features. aspNetMX will now retry DNS queries. Because of aspNetMX's speed, we found it was overloading DNS servers. aspNetMX now has the capability to retry queries, and even allow you to specify a pause interval in milliseconds to give your DNS server time to query for MX records.

More Validation Options
aspNetMX now has the capability to parse and validate comma separated email addresses. Along with our synchronous methods, aspNetMX has the capability to perform validation asynchronously. aspNetMX also has advanced features such as using the extended HELO command during SMTP validation, and specifying the local endpoint to be used for socket creation.

Better Logging, Debugging and Exception Handling
aspNetMX now logs additional debug statements to the validation log for easier troubleshooting. If exceptions are raised, they can now be trapped in the OnError event. If all exceptions want to be ignored, simply set the new ThrowExcpetion property to false. aspNetMX also raises specific exceptions during the validation process. For example DnsExceptions are raised during any DNS query errors.

Along with the new 2.0 features, here are some of the standard high performance features and techniques of aspNetMX.

Validating email addresses to the Mailbox level can be a time intensive process. It is not unusual to encounter slow or non-responsive DNS servers, along with slow or non-responsive SMTP servers, resulting in a single email address validation to take 60 seconds of even longer. Because most of this time intensive process is outside of aspNetMX's control, we've built aspNetMX with these hurdles in mind.

Fail Over DNS Servers
aspNetMX has the capability to fail over to responding DNS servers, to responding DNS servers. By default aspNetMX checks your system for your primary DNS server. As a benefit, you can specify specific DNS Servers in the form of a comma-delimited string. aspNetMX will attempt to connect to each one, until a successful connection is made, and then use the first responsive DNS Server for the remainder of the aspNetMX session.

High Performance Internal MX Cache
aspNetMX has a built-in high performance internal cache that stores previously looked-up MX Records. For example, once the MX Records for hotmail.com have been determined, aspNetMX no longer makes the expensive DNS Queries again, to determine those records. Instead, when the 2nd email address is encountered, that belongs to hotmail.com, aspNetMX checks it's internal cache to see if the records are there, and then uses those records. By default the aspNetMX cache is set to time out every 15minutes, however, this time can be set by the programmer, to be minutes, hours, or even days.

Bad Email Address Internal List
How many times have you seen the email address 'test@test.com' or 'a@a.com' or 'asdf@asdf.com' entered into your address list? While all of these addresses are technical valid, they are probably not too useful to you or your list. aspNetMX provides the capability to add these addresses to a 'Bad Address' list, and every time they are encountered, aspNetMX automatically fails them. Here are two easy code samples to achieve this functionality:


MXValidate mx = new MXValidate();

//build the list of known bad email addresses, 
//separated by commas or semi-colons
string BadEmails = "test@test.com;a@a.com;asdf@asdf.com";

//add them to the MXValidate session
mx.AddBadEmails( BadEmails );

[Visual Basic]

Dim mx As New MXValidate()

'build the list of known bad email addresses, 
'separated by commas or semi-colons
Dim BadEmails As String = ""test@test.com;

'add them to the MXValidate session

Known Domains
There are a number of domains that are known to exist, and have a high frequency of being added to your email list. Some of these domains include "hotmail.com;aol.com;yahoo.com; usa.net;bigfoot.com;earthlink.net;mindspring.com; ibm.net;msn.com;compuserve.com; juno.com;geocities.com;excite.com; altavista.com;ibm.com;microsoft.com;netzero.net" *.

If you are validating to the MXValidateLevel.MXRecords, and the email address is found to be valid, AND found in one these domains, aspNetMX will return a successful validation. Again, adding these domains is as simple as adding the bad emails, seen above. Here are two easy code snippets to achieve this functionality.


MXValidate mx = new MXValidate();

//build the list of known domains, separated by 
//commas or semi-colons
string KnownDomains = "hotmail.com;

//add them to the MXValidate session
mx.AddKnownDomains( KnownDomains );

[Visual Basic]

Dim mx As New MXValidate()

'build the list of known domains, separated by 
'commas or semi-colons
Dim KnownDomains As String = "hotmail.com;aol.com;yahoo.com;

'add them to the MXValidate session

Mailbox Domains
There are a number of domains that always return positive mailbox verification. Microsoft's Exchange server is known to do this. To prevent email address harvesting, some mail servers will always claim a mailbox for an email address exists, when in fact, none does. Some of these domains include "aol.com;yahoo.com;bigfoot.com;msn.com;compuserve.com; altavista.com;microsoft.com;netzero.net"*.

To prevent time-intensive network calls from happening on those domains, aspNetMX has the capability to add them and prevent these network calls from being made. Here are two easy code snippets to take advantage of these known mailbox domains.


MXValidate mx = new MXValidate();

//build the list of mailbox domains, serperated by 
//commas or semi-colons
string MailboxDomains = "aol.com;yahoo.com;bigfoot.com;

//add them to the MXValidate session
mx.AddMailboxDomains( MailboxDomains );

[Visual Basic]

Dim mx As New MXValidate()

'build the list of mailbox domains, serperated by 
'commas or semi-colons
Dim MailboxDomains As String = "aol.com;yahoo.com;

'add them to the MXValidate session

* Special thanks to James Shaw from www.CoverYourAsp.com for this list.