Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sayak119/node-email-validator

This is a npm package that checks if email is valid or not and also raises a flag if an email ID is temporary, belongs to a private org or that mail server is not used much.
https://github.com/sayak119/node-email-validator

dns mx-record nodejs npm npm-package

Last synced: about 1 month ago
JSON representation

This is a npm package that checks if email is valid or not and also raises a flag if an email ID is temporary, belongs to a private org or that mail server is not used much.

Awesome Lists containing this project

README

        

# node-email-validator

This npm package checks that whether an email address is a valid email address or not by checking the MX records. It also has a statistics based check that whether an email address has a possibility of being a `temporary email`, `email belonging to a private organization` or that `mail server is not used much in that region`. It also checks if the email address structure follows `RFC 5322 Official Standard` or not.

## How to install?

* Just run the following statement.
```javascript
npm install node-email-validator
```
or
```javascript
npm i node-email-validator
```

## How to use it?

* Given below is an example on how to use this package.
```javascript
var nev = require('node-email-validator');
nev('[email protected]').then(validation => {console.log(validation);}).catch(error => console.log(error));
```
* The output for this is as follows.
```json
{
user: 'xukrlrll',
domain: 'sharklasers.com',
isEmailValid: true,
mxRecords: [ { exchange: 'mail.guerrillamail.com', priority: 0 } ],
possibility: true,
timeout: false
}
```

## What is present in the response?

* `user` - This contains the username part of the email address.
* `domain` - This contains the domain part of the email address.
* `isEmailValid` - This returns `true` or `false` depending on the validity of the email address.
* `mxRecords` - It contains the MX records which are dictionaries of `exchange` and `priority` or `[]` if nothing is present.
* `probability` - This returns `true` or `false` depending on the possibility of an email address being a `temporary email`, `email belonging to a private organization` or that `mail server is not used much in that region`.
* `timeout` - This returns `true` or `false` depending on the fact that the query caused timeout or not.

## How to run tests?

* For running the tests, run the following command.
```javascript
npm test
```

## License

[ISC](./LICENSE)