1.12.0 β€’ Published 1 year ago

@zootools/email-spell-checker v1.12.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@zootools/email-spell-checker

npm package npm package Issues Commitizen Friendly

EmailSpellChecker is a lightweight JavaScript module written in TypeScript that suggests the right domain when your users misspell it in an email address.

At ZooTools - web3 Mailchimp alternative, we validate thousands of misspelled emails daily with EmailSpellChecker and it helped us to reduce bounced emails by 30%.

It's by far the easiest way to reduce misspelled email addresses in your web apps and server.

The features your deserve

We rewrote and improved mailcheck.js, a great module that is no longer maintained (7+ years since the last update) and we fixed critical bugs like this, or this.

  • ⚑️ Lighting fast: Highly performance email checking using Sift3 - a fast and accurate string distance algorithm.
  • πŸ”‹ Updated: 39+ popular domains, and 66+ modern TLDs out-of-the-box. Frequently updated.
  • πŸš€ Ridiculously small: 1.8KB (minzip) and 0 external dependencies. We agree, big bundles suck!
  • πŸ’™ TypeScript: Fully written in TypeScript, cause we know you love it and we too.
  • βš™οΈ Extensible: Allows you to pass your custom rules and domains. Tweak it as you need.
  • πŸ”¨ 1-minute migration: Same API and functions as mailcheck so you can switch in a sec!
  • πŸ” Unit tested: Cause we'd not ever used a library without tests :).

Why should you validate email spelling?

Typos in the email will harm your business. Especially email deliverability. Common user misspellings such as β€œgnail” instead of β€œgmail” or β€œyaho” instead of β€œyahoo” can be used as spam traps by ISPs, and as a result, your emails will be blocked or marked as spam.

Common use cases:

  • User authentication (login, signup, email recovery).
  • Backend email validation.
  • Newsletter subscriptions.

Tutorials

Here are some highly-requested tutorials.

If you want to write a tutorial send a PR or create an issue if you want to ask for one.

Getting Started in 5 minutes

Adding EmailSpellChecker to your project takes less than 5 minutes.

It works on any JavaScript framework (Vue, React, Next.JS, Angular, Svelte, etc) as well as your backend server.

Installation

Install with npm:

npm i @zootools/email-spell-checker --save

Install with yarn:

yarn add @zootools/email-spell-checker

Basic Example

Using the library is easy. Import it, call run function with the email you want to validate, and get a suggestion.

import emailSpellChecker from '@zootools/email-spell-checker';

const suggestedEmail = emailSpellChecker.run({
  email: 'jorge@gmaik.co',
});

if (suggestedEmail) {
  // DEV: Handle the suggestion.
  // E.g: tell the user their email is wrong and offer to apply your suggestion.

  console.log(suggestedEmail);
  // {
  //    address: "jorge"
  //    domain: "gmail.com"
  //    full: "jorge@gmail.com"
  // }
}

Extending Domains

EmailSpellChecker has inbuilt defaults if the domains, secondLevelDomains or topLevelDomains options aren't provided.

The out-of-the-box configuration is the best for 99% of cases. If you are that 1%, here is how you can extend the configuration :).

Adding your own Domains

You can replace EmailSpellChecker's default domain/TLD suggestions by supplying replacements to EmailSpellChecker.run:

emailSpellChecker.run({
  domains: [...emailSpellChecker.POPULAR_DOMAINS, 'customdomain.com'], // replaces existing domains
  secondLevelDomains: ['domain', 'yetanotherdomain'], // replaces existing SLDs
  topLevelDomains: ['com.au', 'ru'], // replaces existing TLDs
});

Tests

EmailSpellChecker is tested with Jest, a popular JavaScript testing framework from Facebook with a focus on simplicity.

Run npm test from the command line to run the test suite.

Who uses EmailSpellChecker?

We're putting together a list of happy users of EmailSpellChecker.

Tweet us @ZooToolsHQ and @JGFerreiro if you are interested to appear.

Customer support & updates

Updates

Customer support

Socials

Maintainers

This library is used and maintained by ZooTools: Growth and marketing tools for ambitious teams.

We use this library heavily in ZooTools Panda, a mailchimp alternative for sending viral marketing campaigns.

You can view examples of the use of this library here

We're hiring!

Badass developer looking for a job? Join the grind!

1.12.0

1 year ago

1.11.0

2 years ago

1.10.0

2 years ago

1.8.3

2 years ago

1.8.2

2 years ago

1.8.1

2 years ago

1.8.0

2 years ago

1.7.0

2 years ago

1.6.1

2 years ago

1.6.0

2 years ago

1.5.0

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago