Socket
Socket
Sign inDemoInstall

isemail

Package Overview
Dependencies
0
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    isemail

validate an email address according to RFCs 5321, 5322, and others


Version published
Weekly downloads
853K
increased by3.95%
Maintainers
1
Install size
69.5 kB
Created
Weekly downloads
 

Package description

What is isemail?

The isemail npm package is a module that allows you to validate email addresses according to the standards and specifications of the Internet Message Format and the DNS (Domain Name System). It is designed to ensure that email addresses are syntactically correct and can be used for sending and receiving emails.

What are isemail's main functionalities?

Email Validation

This feature allows you to validate whether a string is a valid email address. It returns a boolean indicating whether the email is valid or not.

const isEmail = require('isemail');
console.log(isEmail.validate('test@example.com')); // true
console.log(isEmail.validate('invalid-email')); // false

Check DNS

This feature enables DNS checking as part of the validation process. It performs an asynchronous DNS lookup to see if the domain in the email address exists.

const isEmail = require('isemail');
isEmail.validate('test@example.com', { checkDNS: true }, (err, isValid) => {
  console.log(isValid); // true or false based on DNS check
});

Error Level Reporting

This feature provides detailed error level reporting. Instead of a simple boolean, it returns a numeric error level indicating the type of validation error, if any.

const isEmail = require('isemail');
const result = isEmail.validate('test@example.com', { errorLevel: true });
console.log(result); // 0 for valid email or a positive number representing the error level

Other packages similar to isemail

Readme

Source

isemail

Build Status

This first version of isemail is a port of the PHP is_email function by Dominic Sayers.

Future versions will improve upon the current version, optimizing it for efficient usage and DRYing the code.

Install

$ npm install isemail

Test

The tests were pulled from is_email's extensive test suite on October 15, 2013. Many thanks to the contributors!

Run any of the following.

$ mocha
$ npm test
$ make test

remember to npm install!

API

isEmail(email, [options], [callback])

Determines whether the email is valid or not, for various definitions thereof. Optionally accepts an options object and a callback function. Options may include errorLevel and checkDNS. The callback function will always be called if specified, and the result of the operation supplied as the only parameter to the callback function. If isEmail is not asked to check for the existence of the domain (checkDNS), it will also synchronously return the result of the operation.

Use errorLevel to specify the type of result for isEmail. Passing a false literal will result in a true or false boolean indicating whether the email address is sufficiently defined for use in sending an email. Passing a true literal will result in a more granular numeric status, with zero being a perfectly valid email address. Passing a number will return 0 if the numeric status is below the errorLevel and the numeric status otherwise.

Examples
$ node
> var isEmail = require('isemail');
undefined
> var log = console.log.bind(console, 'result');
undefined
> isEmail('test@iana.org');
true
> isEmail('test@iana.org', log);
result true
true
> isEmail('test@iana.org', {checkDNS: true});
undefined
> isEmail('test@iana.org', {checkDNS: true}, log);
undefined
result true
> isEmail('test@iana.org', {errorLevel: true});
0
> isEmail('test@iana.org', {errorLevel: true}, log);
result 0
0
> isEmail('test@e.com');
true
> isEmail('test@e.com', {checkDNS: true, errorLevel: true}, log);
undefined
result 6
> isEmail('test@e.com', {checkDNS: true, errorLevel: 7}, log);
undefined
result 0
> isEmail('test@e.com', {checkDNS: true, errorLevel: 6}, log);
undefined
result 6

TODO

Add tests for library usage, not just functionality comparisons.

License

BSD License

Keywords

FAQs

Last updated on 27 May 2014

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc