Web service documentation

Contact Checker Pro Web Service is a Microsoft™ .NET web service. It can be used with any platform or client that is compatible with the supported protocols listed below.

Index

Limitations

Checking email addresses relies on variables that are outside of our control. Specifically, our server needs to establish a connection to mail servers in order to "interrogate" them.

The email checker may encounter problems if the remote email server is:

  • Not specified - domain has no MX records.
  • Unavailable - The mail server is down or not contactable.
  • Busy - The mail server is busy / issues a "try later" response.

Issues with Microsoft Exchange server

Several editions of Microsoft Exchange server report "valid" email boxes regardless of whether they exist or not. This is due to a configuration option in Exchange that prevents email validation. More information can be found here.

Issues with various web mail providers

The following web based do not work with our email checker. These are:

  • Yahoo.*
  • Altavista.*

Furthermore, due to aggressive mail server policies, you can expect inconsistent results whilst querying the following email addresses:

  • live.com
  • gmail.*
  • googlemail.*

This limitation is due to the way these email servers restrict normal SMTP sessions and is a constraint imposed by these providers, not our service.

Supported protocols

The web service supports the following protocols:

  • SOAP 1.1
  • SOAP 1.2
  • HTTP GET
  • HTTP POST
  • WCF

Please refer to the full service descriptions for full details of supported protocols.

Calls from ASP.NET AJAX are also supported. See here for further information.

Special Note: Visual Studio 2008

If you choose the SOAP implementation please ENSURE THAT YOU ADD A WEB REFERENCE and NOT a Service Reference (which is the default in VS 2008). Alternatively, you can use the WCF implementation in VS2008.

Methods

Please see the following detailed descriptions of the methods available.

GetMXRecords(string license,string domain)

Gets MX records for a domain. Returns a simple array of MXRecord objects that show server name and metric.

Please note that this method relies on establishing a successful SMTP session with the remote mail server being tested. If a connection cannot be established or the remote mail server encounters a timeout, this method will return a status of SmtpTimeOut as an error value.

SMTP connections will return SmtpTimeOut errors after 20 seconds.

GetUsage(string license)

Gets usage information for your license. Calls to this method are free and do not count towards your daily usage allowance.

ValidateMailBox(string license, string email)

Validates email address to mailbox level. This is the most thorough check but can take several seconds to complete.

Please note that this method relies on establishing a successful SMTP session with the remote mail server being tested. If a connection cannot be established or the remote mail server encounters a timeout, this method will return a status of SmtpTimeOut as an error value.

SMTP connections will return SmtpTimeOut errors after 20 seconds.

ValidateSyntax(string license, string email)

Validates the syntax of an email address only. This is the fastest but least accurate method of validation. Example:- jon@nowwhere.com is ok but jon@.com is not.

The regular expression uses to validate email syntax is as follows:

^(\w+([!#$%&'*+-/=?^_`{|}~]*\w+)*)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$