Email validation in Node.js

Email validation in Node.js

Intro

MailboxValidator is an email validation service to clean mailing lists of stale and unreachable emails. There are 2 ways to utilize the MailboxValidator service. The easiest way is to subscribe for a BULK plan. This allows a user to just simply upload a text or CSV file containing their email list to our website. Then just wait for the validation process to complete. Advanced users will prefer to use our REST-based API instead. It can be used to query a single email address to check its validity. The results are returned almost immediately.

How can MailboxValidator help marketers and developers?

At first glance, you might think that using regular expressions can easily detect invalid email addresses. Unfortunately, that is wrong. First of all, regular expression only checks the syntax of the email address. It does not tell you whether that email address actually exists. Nor can it detect whether the email domain is non-existent.

MailboxValidator, on the other hand, performs checks on the email address syntax. Next, it will check for the existence of the email domain. Following that, it will check if the email address actually exists. Last but not least, it will let you know if the email address came from a free or disposable email provider.

All of these validation features are geared towards marketers and developers to help them reduce their bounce rate, thus helping them to avoid being blacklisted.

Easy integration with multiple SDKs and plugins

We believe that email validation should be easy enough for anyone to use. Hence, we’ve created a bunch of SDKs and extensions to help you get started. If you’re using an Email Sending Provider (ESP) like MailChimp, Aweber, Sendgrid, HubSpot and so on, we’ve got you covered with our list of integrations.

Let’s take a look at email validation in Node.js

Node.js developers will be glad to know we have an email validation module ready for use. Just install the module using the below command.

npm install mailboxvalidator-nodejs

You’ll also need the MailboxValidator API key. If you don’t have one, you can subscribe for one at https://www.mailboxvalidator.com/plans#api

Usage is also very straightforward as the example below shows. Just remember to edit the code and put in your API key.

var mbv = require("mailboxvalidator-nodejs");

mbv.MailboxValidator_init("YOUR_API_KEY");

mbv.MailboxValidator_single_query("example@example.com", mbv_read_single);

function mbv_read_single(err, res, data) {
	if (!err && res.statusCode == 200) {
		console.log("email_address: " + data.email_address);
		console.log("domain: " + data.domain);
		console.log("is_free: " + data.is_free);
		console.log("is_syntax: " + data.is_syntax);
		console.log("is_domain: " + data.is_domain);
		console.log("is_smtp: " + data.is_smtp);
		console.log("is_verified: " + data.is_verified);
		console.log("is_server_down: " + data.is_server_down);
		console.log("is_greylisted: " + data.is_greylisted);
		console.log("is_disposable: " + data.is_disposable);
		console.log("is_suppressed: " + data.is_suppressed);
		console.log("is_role: " + data.is_role);
		console.log("is_high_risk: " + data.is_high_risk);
		console.log("is_catchall: " + data.is_catchall);
		console.log("mailboxvalidator_score: " + data.mailboxvalidator_score);
		console.log("time_taken: " + data.time_taken);
		console.log("status: " + data.status);
		console.log("credits_available: " + data.credits_available);
		console.log("error_code: " + data.error_code);
		console.log("error_message: " + data.error_message);
	}
}

How to interpret the result fields?

email_address

The input email address.

domain

The domain of the email address.

is_free

Whether the email address is from a free email provider like Gmail or Hotmail.

Return values: True, False

is_syntax

Whether the email address is syntactically correct.

Return values: True, False

is_domain

Whether the email address has a valid MX record in its DNS entries.

Return values: True, False (- means not applicable)

is_smtp

Whether the mail servers specified in the MX records are responding to connections.

Return values: True, False (- means not applicable)

is_verified

Whether the mail server confirms that the email address actually exists.

Return values: True, False (- means not applicable)

is_server_down

Whether the mail server is currently down or unresponsive.

Return values: True, False (- means not applicable)

is_greylisted

Whether the mail server employs greylisting where an email has to be sent a second time at a later time.

Return values: True, False (- means not applicable)

is_disposable

Whether the email address is a temporary one from a disposable email provider.

Return values: True, False (- means not applicable)

is_suppressed

Whether the email address is in our blacklist.

Return values: True, False (- means not applicable)

is_role

Whether the email address is a role-based email address like admin@example.net or webmaster@example.net.

Return values: True, False (- means not applicable)

is_high_risk

Whether the email address contains high risk keywords.

Return values: True, False (- means not applicable)

is_catchall

Whether the email address is a catch-all address.

Return values: True, False, Unknown (- means not applicable)

mailboxvalidator_score

Email address reputation score.

Score > 0.70 means good; score > 0.40 means fair; score <= 0.40 means poor.

time_taken

The time taken to get the results in seconds.

status

Whether our system think the email address is valid based on all the previous fields.

Return values: True, False

credits_available

The number of credits left to perform validations.

error_code

The error code if there is any error.

error_message

The error message if there is any error.

Conclusion

As you can see, it’s so easy to integrate the MailboxValidator email validation in Node.js. The validation results are comprehensive and easy to understand. Best of all, there is a free API plan to help you get started.

https://www.mailboxvalidator.com/plans#api

Was this article helpful?

Related Articles