Click here to Skip to main content

Rate this:   Poor Excellent
Please Sign up or sign in to vote.
Item Details
License: Limited Time Trial
Technologies: C++/CLI, C# (C#2.0, C#3.0, C#, C#4.0), VB (VB8.0, VB9.0, VB, VB10.0, VB.NET), SQL, MSIL, JScript.NET, Forth.NET, F#, Python (Python, IronPython), Ruby (Ruby, IronRuby), Windows, .NET (.NET2.0, Mono, DotGNU, .NET3.0, .NET3.5, .NET, .NET4), ASP.NET, SQL-Server (SQL-server-2005, SQL-Server, SQL-Server-2008), Visual-Studio (VS2005, VS2008, Visual-Studio, VS2010), ADO.NET, WCF, WPF, WebForms, LINQ, All-Topics, PowerShell, WinForm
Last Updated: 22 Oct 2010

Contact Information
Contact Name:
Efran Cobisi
Company /
Cobisi Research (Efran Cobisi)
Email Format:
United States

EmailVerify.NET - Email validation component for .NET

Efran Cobisi
Version: 4.0
EmailVerify.NET is a powerful Microsoft .NET software component that verifies e-mail addresses with various tools, including:
• Advanced syntax verification, according to IETF standards (RFC 2821 and RFC 2822, among others)
• DNS validations, including MX record(s) lookup
• Disposable e-mail address (DEA) validation
• SMTP connection and availability checking
• Mailbox existence checking, with greylisting and temporary unavailability support
• Catch-all testing
It is written completely in managed code (C#) and is compliant with Common Language Specification (CLS), so it can be used with any other .NET language, including VB.NET, C++/CLI, J#, IronPython, IronRuby, and F#.

Designed from the ground up to make the developer's life easier, EmailVerify.NET's whole architecture lets you perform a full e-mail validation with just a single method call, whether the job is as simple as a syntax check or as complex as a mailbox existence test.
Here's what it takes to validate an e-mail address (C# sample):

var verifier = new EmailVerifier();
var result = verifier.Verify("", VerificationLevel.Mailbox);
if (result.IsSuccess)
Console.WriteLine("The mailbox exists!");

Could it be any simpler? Of course not. ; )

With a very stable and mature code base, EmailVerify.NET supports six different e-mail address verification depths and allows you to configure every possible aspect of the validation process, including adherence to IETF standards preferences, network-related settings, and timeouts for multi-threaded activities.
In the following snippet, for example, EmailVerify.NET is configured not to allow domain literals in e-mail addresses, while allowing comments and quoted strings. Furthermore, the component is set to use a particular DNS server (instead of a system-configured server) for its lookups:

verifier.AllowDomainLiterals = false;
verifier.AllowComments = true;
verifier.AllowQuotedStrings = true;
// The component will use just the provided DNS server for its lookups

On top of that, the component exposes various events that notify the user about any change in the e-mail address validation's progress, including verifications starts/ends and depths advancements. This way, whether your project is a desktop-based application, Web-based, or a class library, you may use these notifications to react accordingly at every phase of the verification activity, as well as to present a message to the end user or to insert a row into a database.
For example, this is the way to bind to one of the provided events and write a message to the console every time there is progress in the validation process:

verifier.VerificationTaskProgressChanged += (sender, args) =>
Console.WriteLine("The address {0} reached level {1}",

For more information about EmailVerify.NET please visit our website at:
or contact our customer support (
We will be more than happy to assist you!


Advertise | Privacy | Mobile
Web03 | 2.8.140415.2 | Last Updated 10 Aug 2007
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Use
Layout: fixed | fluid