• Products

    Microsoft .NET

    Microsoft .NET components, libraries & tools

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

    Microsoft Silverlight

    Microsoft Silverlight components, libraries & tools

    • EmailVerify for Silverlight
      Email validation library with Data Annotations support, featuring advanced syntax verification, ISP-specific syntax checks and disposable email address handling.

    Microsoft Visual Studio extensions

    Development tools, integrated into your favorite IDE

    • 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.

  • Purchase

    Products

    • EmailVerify for .NET
      • Licensing / editions
      • Volume discounts
      • Upgrades
      Purchase
    • ProxyClient for .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 6, 2012

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

EmailVerify for Silverlight

Advanced email validation component for Microsoft Silverlight

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

Syntax validation features

EmailVerify for Silverlight 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 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)

Whenever EmailVerify for Silverlight 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 engine = new VerificationEngine();

            // ...

            var result = engine.Run("seti@home@example.com",
                VerificationLevel.Syntax).Result;

            if (result.SyntaxFailureIndex.HasValue)
            {
                // Will output: InvalidCharacterInSequence

                Debug.WriteLine(result.Status);

                // Will output: 9

                Debug.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 for Silverlight 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 engine = new VerificationEngine();

            // Turn quoted strings (and pairs) support off

            engine.DefaultSettings.AllowQuotedStrings = false;
        


Comments

Even if it is rare nowadays to see such usage, EmailVerify for Silverlight 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 for Silverlight handles comments automatically and provide you with an easy way to extract them, if needed:

            var engine = new VerificationEngine();

            // ...

            var result = engine.Run("john(smith)@(my (domain))example.com(tld)",
                VerificationLevel.Syntax).Result;

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

            Debug.WriteLine(result.EmailAddress);

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

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

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

            var engine = new VerificationEngine();

            // Turn comments support off

            engine.DefaultSettings.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:

test@[173.194.69.27]

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

            var engine = new VerificationEngine();

            // Turn domain literals support off

            engine.DefaultSettings.AllowDomainLiterals = false;
        

Features at a glance


  • Advanced syntax validation
    • Quoted strings and quoted pairs
    • Comments
    • Domain literals
  • Disposable email addresses (DEA) detection
  • Detailed email validation results
    • Syntax-related failures
    • Well-known disposable email address failures
Products
  • EmailVerify for .NET
    • Features
    • Online demo
    • Download
    • Licensing / editions
    • Release notes
    • Purchase
  • ProxyClient for .NET
    • Download
    • Licensing / editions
    • Release notes
    • Purchase
  • MVC Extensions
    • Tutorial
    • Free edition download
    • Licensing
    • Release notes
    • Purchase
Support
  • Knowledge base
  • Request support

About Cobisi
  • The company
  • Mission
  • Follow us
  • Contact us
Copyright © 2005-2022 Cobisi Research. All rights reserved.
Cobisi Research - Via Della Costituzione, 31 - 35010, Vigonza - Italy (European Union)
VAT ID: IT04391160282