0151 355 4555



Checks an email address for validity at the requested level, and provides suggested corrections.

The following EmailValidationLevel values are currently supported:

  • Syntax. The supplied email is checked to ensure that it meets the standard email address format.

    This is the quickest option and would reject such incorrect email addresses as "noone@nowhere" and "N/A", but would accept incorrect email addresses that are correctly formed but that do not include a valid domain name such as "noone@data-9.com"

  • MX. The supplied email is checked to ensure that the domain name (the part to the right of the @ sign) exists and is set up to receive email.

    This is still normally very quick, but can take a few seconds in some cases. This check would reject incorrectly formatted email addresses in the same way as the Syntax check, and would also reject a misspelled domain name such as "noone@data-9.com". It can also detect when a domain name exists but does not handle email, such as "noone@example.com".

    It does not verify that the part of the email address to the left of the @ sign exists.

  • Server. In addition to the MX level checks, validates that at least one of the mail servers advertised for the domain is actually live.
  • Address. In addition to the Server level checks, validates that the mail server accepts mail for the full email address.

The return value includes the following fields:

  • Result indicates whether the email address was valid before or after cleansing, and can be one of the following options:
    • Valid. According to the selected level of validation, the email address appears to be valid. This is not an absolute guarantee that emails sent to this address will be delivered and read.
    • Invalid. The email address is invalid. This is a definite assessment that emails sent to this address cannot be delivered.
    • Inconclusive. A precise Valid or Invalid result could not be determined. This is normally because the server being used for the address being checked did not respond in time, or did not provide sufficient information.
    • CatchAll. When performing Address level validation, the mail server was determined as accepting mail for any address provided to it. The address being checked will be accepted, but may be returned later.
    • GreyListed. When performing Address level validation, the mail server declined to indicate whether the address was valid or not due to a greylisting rule. Trying to validate the address again in a few minutes may elicit a more accurate response.
    • SuggestedCorrection. A modification to the supplied email address has been suggested. The details of this suggestion can be found in the SuggestedEmailAddress and Comment fields, and the validation status of the original email address can be found from the OriginalValid field.
  • OriginalValid indicates whether the originally supplied email address was valid before any corrections were made.
  • EmailType indicates which of the following categories the email address falls into:
    • Personal - the address is the personal email address of the user at their company.
    • ISP - the address is provided by the user's ISP
    • Free - the address is provided by a free email provider such as Hotmail
    • Generic - the address is a catch-all address at a company, such as sales@example.com
    • Disposable - the address is provided by a disposable email provider. The address may be valid now but will not be valid soon after.
  • SuggestedEmailAddress contains the supplied email address with any corrections applied to it.
  • Comment contains a free-text description of how the email address has been corrected.
  • Salutation contains the suggested name to use in the greeting line of an email.
  • StructureUsed describes the detected format of the username part of the address.

View all Email Validation methods

Code Samples

<!-- Import the Integr8 Ajax API -->
<!-- NOTE: Get your own API key to use in the following script tag from: -->
<!-- http://www.data-8.co.uk/integr8/Admin/Ajax.aspx -->
<script src="http://webservices.data-8.co.uk/Javascript/Loader.ashx?key=your-api-key" type="text/javascript">

<script type="text/javascript">

function loadIntegr8() {
  // Load the EmailValidation Integr8 service

function Cleanse(email, level, record) {
  /// <param name="email">string</param>
  /// <param name="level">string. One of the following values: Syntax, MX, Server, Address</param>
  /// <param name="record">data8.businessinputrecord. Set up the CompanyName, Name, Address properties before calling this method.</param>
  var emailvalidation = new data8.emailvalidation();

function showCleanseResult(result) {
  // Check that the call succeeded, and show the error message if there was a problem.
  if (!result.Status.Success) {
    alert('Error: ' + result.Status.ErrorMessage);
  else {
    // TODO: Process method results here.
    // Results can be extracted from the following fields:
    // result.Result
    //   Contains a status code indicating if the email address could be validated.
    // result.OriginalValid
    //   Indicates if the original email address was valid before being modified.
    // result.EmailType
    //   Indicates what type of email address was supplied.
    // result.SuggestedEmailAddress
    //   A suggested correction of the email address
    // result.Comment
    //   A free-text description of why the email address was modified
    // result.Salutation
    //   The suggested name to be used in the greeting line of an email
    // result.StructureUsed
    //   A description of the structure of the username part of the email address
    // result.ParsedName
    //   A parsed name constructed from the email address