Introduction
Integration
https://www.serviceobjects.com/sample-code/?service=73
Web Service Structure
https://trial.serviceobjects.com/ev2/EmailValidation2.asmx
https://trial.serviceobjects.com/ev2/EmailValidation2.asmx?WSDL
SOAP is done via POST, only with special XML markup in the post-body.
ValidateEmailFast_v2 – Validates an email address returning all of our standard flags, indicating the quality of the address, as well as other data. This check is always fast and will not perform any real-time SMTP level checks, however may still provide SMTP level information via one of our other mechanisms.
ValidateEmailFull – Deprecated: use ValidateEmailFull_v2
ValidateEmailFull_v2 – This operation has the same input/output as ValidateEmailFast. However, if we are unable to provide all the SMTP level flags, it may try to do real-time SMTP level checks. In this case it may return SMTP check information, but may take several seconds longer.
ValidateEmailFastNoNames – Deprecated: use ValidateEmailFastNoNames_v2
ValidateEmailFastNoNames_v2 – This operation is identical to ValidateEmailFast but is even faster because it omits the PossibleFirstName and PossibleLastName fields.
CorrectEmail – This operation tries to correct an email that is syntactically incorrect, or one that fails to comply with the additional rules implied by its specific domain.
Request Types
GET – All of the input data is in the query string appended to the url. The response is simple XML.
POST – The input parameters are in the body of the request instead of the query string. The response is simple XML.
SOAP – The input parameters are in an XML SOAP message contained within the body of the request. The response is an XML SOAP message.
Analysis of Request Types
POST is probably the best method to implement by hand because you do not have to know the specifics of SOAP, and is a little cleaner than passing input parameters in the query string via GET.
SOAP is the best method if you are using a platform that supports SOAP. In many programming environments you can give your Integrated Development Environment (IDE) the URL to the WSDL of a web service (https://trial.serviceobjects.com/ev2/EmailValidation2.asmx?WSDL) and it will create a proxy class to help you interact with the web service. In this case you only have to create an instance of the proxy and use its methods. This completely abstracts the programmer from any complications like sending/receiving web requests/responses as well as any XML parsing.
XML Parsing
Operation Definitions
SMTP check level data may be unknown due to a real-time timeout, or company policy to limit SMTP requests to a domain. Our system is optimized to get around this limitation, but if you do receive some unknown flags, try the email again a few hours later there is a very good chance we will have acquired the information.
ValidateEmailFast_v2 / ValidateEmailFastNoNames_v2 / ValidateEmailFull_v2
The ValidateEmailFast operations are usually faster but will occasionally return less robust data than the ValidateEmailFull operations.
ValidateEmailFast_v2 / ValidateEmailFastNoNames_v2 / ValidateEmailFull_v2 Inputs
| Name | Type | Description |
|---|---|---|
| EmailAddress | String | The email address you wish to validate. |
| LicenseKey | String | Your license key to use the service. Sign up for a free trial key at www.serviceobjects.com. |
ValidateEmailFast_v2 / ValidateEmailFastNoNames_v2 / ValidateEmailFull_v2 Outputs
| Name | Type | Values | Description |
|---|---|---|---|
| EmailAddressIn | String | Varies | Echo of input: EmailAddress |
| Box | String | Varies | The part to the left of the ‘@’ symbol. Also known as the local part or the username. |
| Domain | String | Varies | The part to the right of the ‘@’ symbol. The location to which the email address will be sent. |
| IsRecognizedTLD | Boolean | T/F | Is the top level domain recognized by ICANN. |
| TopLevelDomain | String | Varies | The part after the rightmost ‘.’ |
| TopLevelDomainDescription | String | Varies | Description of the Top Level Domain. |
| IsCCTLD | Boolean | T/F | Indicates if the TLD represents a specific country. For example .us implies United States. |
| IsSyntaxGood | Boolean | T/F | Indicates if the email is syntactically valid. |
| IsDomainSpecificSyntaxGood | Boolean | T/F | Indicates if the email is syntactically valid including the additional syntax rules specific to the email’s domain. |
| IsDNSGood | Boolean | T/F | Indicates if the domain is registered and has at least one MX record. |
| IsSMTPServerGood | String | true false unknown |
Indicates if the email’s mail server is operational. |
| IsCatchAllDomain | String | true false unknown |
Indicates if the mail server will accept mail to any box in that domain (*@domain). |
| IsSMTPMailBoxGood | String | true false unknown |
Indicates if the mail server will accept mail to the specific box. |
| IsFree | String | true false unknown |
Indicates if the domain of the email is a public-register domain, where users can sign up for email accounts for free. |
| IsEstablished | Boolean | T/F | Indicates if the email is known within large lists of bulk-marketing lists. |
| IsAlias | Boolean | T/F | Indicates if the email matches alias rules for different sites. For example, any email with a “+” in it at gmail.com is an alias. An alias may also indicate that the email is disposable, for example anything@mailinator.com |
| IsBogus | Boolean | T/F | Indicates if the email is obviously bogus – such as a@a.com, asdf@asdf.com, or bgates@microsoft.com etc. |
| IsVulgar | Boolean | T/F | Indicates if the email address contains obvious vulgar words. |
| PossibleFirstName* | String | Varies | A common first name that was found in the email address. It is possible this is the user’s first name, but not guaranteed. |
| PossibleLastName* | String | Varies | A common last name that was found in the email address. It is possible this is the user’s last name, but not guaranteed. |
| IsSMSDomain** | Boolean | T/F | Indicates if the domain is a known Mail-to-SMS Gateway. |
| IsRole** | Boolean | T/F | Indicates if the email address appears to be a role that is designed to be anonymously managed by one or more persons. |
| IsGood** | Integer | 0 1 2 3 4 |
An estimate on the validity of the email address.[1] 0 = Email is Good 1 = Email is Probably Good 2 = Unknown 3 = Email is Probably Bad 4 = Email is Bad |
| IsDeliverable** | String | true false unknown |
Indicates if the mail server will accept mail for the given email address.[2] |
| IsBusinessAddress** | String | true | Indicates if the email address appears to be work related.[3] |
CorrectEmail
CorrectEmail Inputs
| Name | Type | Description |
|---|---|---|
| EmailAddress | String | The email address you wish to correct. |
| LicenseKey | String | Your license key to use the service. Sign up for a free trial key at www.serviceobjects.com. |
CorrectEmail Outputs
| Name | Type | Values | Description |
|---|---|---|---|
| EmailAddressIn | String | Varies | Echo of input: EmailAddress |
| EmailAddressOut | String | Varies | The corrected email address. |
Errors
<TypeCode>1</TypeCode>
<Desc>Your license key does not work on this service.</Desc>
<DescCode>8</DescCode>
Error Types
| Type | TypeCode | Billable | Standard Across All Gen2 Web Services |
|---|---|---|---|
| Authorization | 1 | No | Yes |
| User Input | 2 | Yes | No |
| Service Objects Fatal | 3 | No | Yes |
| Domain Specific | 4 | Yes | No |
Error type 1: Authorization
| DescCode | Desc |
|---|---|
| 0 | Unknown authorization error. |
| 1 | Please provide a valid license key for this web service. |
| 2 | The daily allowable number of transactions for this license key has been exceeded. |
| 3 | The monthly allowable number of transactions for this license key has been exceeded. |
| 4 | The total allowable number of transactions for this license key has been exceeded. |
| 5 | There are not enough transactions available. Check your daily/monthly transaction limits. |
| 6 | This license key has not yet been activated. |
| 7 | This license key has expired. |
| 8 | Your license key does not work on this service |
Error type 2: User Input
| DescCode | Desc |
|---|---|
| 1 | “You must input an email address in the EmailAddress field.” |
| 2 | “You must input a license key in the LicenseKey field |
Error type 3: Service Objects Fatal
| DescCode | Desc |
|---|---|
| 1 | Unhandled error. Please contact Service Objects. |
Error type 4: Domain Specific
| DescCode | Desc |
|---|---|
| 1 | “The email could not be corrected.” |
| 2 | “The email could not be corrected into the form required by the specific domain.” |
Frequently Asked Questions
Conclusion
Sign up today for a free trial at:
https://www.serviceobjects.com/email-validation/
If you are interested in purchasing DOTS Email Validation 2, please contact sales@serviceobjects.com.
We welcome your feedback! Please do not hesitate to let us know what you think of our web services, documentation, or customer support.
www.serviceobjects.com