Client area
|
Shopping cart (empty)

  • Products

    Developer tools

    Microsoft .NET components, libraries & tools

    • EmailVerify.NET
      Email validation component, featuring full IETF-compliant syntax validation, DNS checking, mailbox existence test and tools for advanced batch processing.
    • ProxyClient for .NET
      Powerful proxy client component with support for SOCKS 4, SOCKS 4a, SOCKS 5 and HTTP proxy servers, allowing to establish and accept remotely proxied connections from both new and existing sockets.
    • MVC Extensions
      Powerful routing engine extensions for ASP.NET MVC: allows to declare SEO routes by way of attributes applied to the target MVC actions and generates URLs for them using compiler-safe lambda expressions.
    • Routing Assistant
      FREE

      A cool and free Visual Studio extension which allows to easily browse, define, match and filter ASP.NET MVC routes within ASP.NET applications and web sites.
  • Online demos

    Email validation

    • Validate email addresses
      Free online demo of our email validation technologies, featuring full IETF-compliant syntax validation, DNS checking and mailbox existence test.

  • Purchase

    Products

    • EmailVerify.NET
      • Licensing / editions
      • Volume discounts
      • Upgrades
      Purchase
    • ProxyClient.NET
      • Licensing
      • Volume discounts
      • Upgrades
      Purchase
    • MVC Extensions
      • Licensing
      • Volume discounts
      • Upgrades
      Purchase

    Request a quote

    • Contact us
      Send a request to our sales staff.

  • Support

    Knowledge base

    • Browse the knowledge base
      Support documents for our products and services.

    Request support

    • Contact us
      Send a request to our customer support staff.

  • About us

    About Cobisi

    About our company, our team, our mission

    • Our company
      Cobisi company information.
    • Our mission
      About what we aim to achieve.
    • Follow us
      Follow us on Twitter.

    Contact us

    • Contact us
      Send a request to our customer support staff.

  • Company blog

    Latest posts from our blog

    Shared thoughts about our technologies, products and services

    • Routing Assistant reached version 1.7
      Published on Thursday, March 21, 2013

    • Verifalia: a new, complete hosted email validation service
      Published on Thursday, December 06, 2012

    • Routing Assistant v1.4 released
      Published on Friday, October 12, 2012

EmailVerify.NET

Advanced email validation component for Microsoft .NET

  • Overview
  • Features
  • Online demo
  • Download
  • Licensing / editions
  • Purchase

Syntax validation features

EmailVerify.NET features a complete syntactical email validation engine that obeys to the current IETF standards, including:
  • RFC 1123 - Requirements for Internet Hosts
  • RFC 2821 - Simple Mail Transfer Protocol
  • RFC 2822 - Internet Message Format
  • RFC 3490 - Internationalizing Domain Names in Applications (IDNA)
  • RFC 3696 - Application Techniques for Checking and Transformation of Names
  • RFC 4291 - IP Version 6 Addressing Architecture
  • RFC 5321 - Simple Mail Transfer Protocol
  • RFC 5322 - Internet Message Format (updates)
  • RFC 5336 - SMTP Extension for Internationalized Email Addresses

Whenever EmailVerify.NET detects an invalid email address syntax, it aborts the validation process and returns the exact cause of the error, along with the position in the email address where the failure happened:

            var verifier = new EmailVerifier();

            // ...

            var result = verifier.Verify("seti@home@example.com",
                VerificationLevel.Syntax);

            if (result.IsSyntaxFailure)
            {
                // Will output: InvalidCharacterInSequence

                Console.WriteLine(result.Status);

                // Will output: 9

                Console.WriteLine(result.SyntaxFailureIndex);
            }
        

Despite the strong adherence to IETF standards, the component is fully configurable and allows to adjust its validation settings with ease; the following sections discuss some of these settings and explore the different email validation results you can obtain.


Quoted strings and quoted pairs

According to RFC 2822, email addresses can contain characters from a subset of the US-ASCII charset, including the latin letters, numbers and a few punctuation marks; the same RFC, however, allows email addresses to include nearly any other US-ASCII character by means of quoted strings and, possibly, quoted pairs.

In the event the local part of an email address needs to contain a space (ASCII code 32, or 0x20 hexadecimal), for example, and being this character not allowed in its free form, the aforementioned RFC allows to use it only if it comes within a string delimited by quotes. Here is an example of a valid email address containing multiple spaces:

"the quick brown fox"@example.com

On top of that, email addresses can even contain some special characters like the @ symbol by prepending them with an escape character, like in the following valid email address:

"seti\@home"@example.com

EmailVerify.NET detects quoted strings and quoted pairs and handle them correctly; if needed, however, you can easily turn this support off by setting the related AllowQuotedStrings property:

            var verifier = new EmailVerifier();

            // Turn quoted strings (and pairs) support off

            verifier.AllowQuotedStrings = false;
        


Email address internationalization

EmailVerify.NET detects and supports both internationalized domain names (IDN) and non-ASCII (Unicode UTF-8) local parts, allowing to validate non-US email addresses automatically.

The component, for example, can easily handle the following valid email addresses:

george@bücher.ch
(note the diaeresis in the domain part)

асиич@мировая-почта.ru
(this email address uses a cyrillic encoding)

A few properties allows to easily discover international addresses and eventually convert their domain name to ASCII, in order to cover specific DNS resolution needs you may have:

            var verifier = new EmailVerifier();

            // ...

            var result = verifier.Verify("george@bücher.ch",
                VerificationLevel.Syntax);

            if (result.HasInternationalDomainName)
            {
                Console.WriteLine("Non-ASCII domain name detected.");

                // Will output xn--bcher-kva.ch

                Console.WriteLine(result.AsciiEmailAddressDomainPart);
            }

            if (result.HasInternationalMailboxName)
            {
                Console.WriteLine("Non-ASCII mailbox name detected.");
            }
        

Should you need it, this feature can be turned off with a single line of code:

            var verifier = new EmailVerifier();

            // Turn internationalized domain names (IDN) support off

            verifier.AllowInternationalDomainNames = false;

            // Turn non-ASCII local parts support off

            verifier.AllowInternationalMailboxNames = false;
        


Comments

Even if it is rare nowadays to see such usage, EmailVerify.NET supports even comments within email addresses, as per the already mentioned RFC 2822. In this case, the standards require comments to be enclosed within parentheses (round brackets) and to be placed at specific points only.

The following valid email address, for example, contains a total of three comments (the middle one being also a nested comment):

john(smith)@(my (domain))example.com(tld)

By default, EmailVerify.NET handles comments automatically and provide you with an easy way to extract them, if needed:

            var verifier = new EmailVerifier();

            // ...

            var result = verifier.Verify("john(smith)@(my (domain))example.com(tld)",
                VerificationLevel.Syntax);

            // Show the email address without comments
            // Will output: john@example.com

            Console.WriteLine(result.EmailAddress);

            // Show each extracted comment
            // Will output: smith, my domain and tld

            foreach (var comment in result.Comments)
            {
                Console.WriteLine(comment);
            }
        

If needed, support for comments can be disabled with a single line of code:

            var verifier = new EmailVerifier();

            // Turn comments support off

            verifier.AllowComments = false;
        


Domain literals

In some environments, domain literals can be used to send email messages to a specific IP address instead of relying on the domain name system (DNS); the RFCs allows to use this information within email addresses, replacing their domain parts with the required IP address (being it an IPv4 or an IPv6 address) enclosed between square brackets, like in the following example:

alice@[127.0.0.1]

By default, EmailVerify.NET validates email addresses with domain literals automatically; if needed, you may turn this feature off by using this line of code:

            var verifier = new EmailVerifier();

            // Turn domain literals support off

            verifier.AllowDomainLiterals = false;
        

Features at a glance


  • Advanced syntax validation
    • Quoted strings and quoted pairs
    • Email address internationalization
    • Comments
    • Domain literals
  • Disposable email addresses (DEA) detection
  • Mailbox existence check
  • Catch-all domain test
  • Greylisting support
  • Yahoo! mailbox validation
  • Detailed email validation results
    • Syntax-related failures
    • DNS-related failures
    • Well-known disposable email address failures
    • SMTP failures
    • Mailbox validation failures
    • Catch-all rejection failures
Products
  • EmailVerify.NET
    • Features
    • Online demo
    • Download
    • Licensing / editions
    • Release notes
    • Purchase
  • ProxyClient.NET
    • Download
    • Licensing / editions
    • Release notes
    • Purchase
  • MVC Extensions
    • Tutorial
    • Free edition download
    • Licensing
    • Release notes
    • Purchase
Support
  • Knowledge base
  • Request support

Client area
  • Licenses & products
  • Hosted email validations
About Cobisi
  • The company
  • Mission
  • Contact us
Copyright © 2005-2013 Cobisi. All rights reserved.
Cobisi - Via Caratti, 38 - 35132, Padova - Italy (European Union)
VAT ID: IT04391160282