UNPKG

@salaros/is-biz-mail

Version:

isBizMail tells you whether a given email address is free (gmail.com, yahoo.es, yandex.ru etc) or not

100 lines (70 loc) 4.26 kB
Business Email Checker ====================== [![Build Status](https://travis-ci.org/salaros/is-biz-mail-js.svg?branch=master)](https://travis-ci.org/salaros/is-biz-mail-js) [![Coverage Status](https://coveralls.io/repos/github/salaros/is-biz-mail-js/badge.svg?branch=master)](https://coveralls.io/github/salaros/is-biz-mail-js?branch=master) [![Inline docs](http://inch-ci.org/github/salaros/is-biz-mail-js.svg?branch=master)](http://inch-ci.org/github/salaros/is-biz-mail-js) [![Known Vulnerabilities](https://snyk.io//test/github/salaros/is-biz-mail-js/badge.svg?targetFile=package.json)](https://snyk.io//test/github/salaros/is-biz-mail-js?targetFile=package.json) ![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability/salaros/is-biz-mail-js) [![License](https://img.shields.io/github/license/salaros/is-biz-mail-js.svg)](https://github.com/salaros/is-biz-mail-js/blob/master/LICENSE) ![js type](https://img.shields.io/badge/type-Vanilla%20|%20CommonJS-589594.svg) [![npm](https://img.shields.io/npm/v/is-biz-mail.svg?colorB=cb3837)](https://www.npmjs.com/package/is-biz-mail) ![npm](https://img.shields.io/npm/dt/is-biz-mail.svg) ![npm](https://img.shields.io/npm/dw/is-biz-mail.svg) ![npm bundle size (minified + gzip)](https://img.shields.io/bundlephobia/minzip/is-biz-mail.svg) [![Donate Patreon](https://img.shields.io/badge/donate-Patreon-f96854.svg)](https://www.patreon.com/salaros/) [![Donate Paypal](https://img.shields.io/badge/donate-PayPal-009cde.svg)](https://paypal.me/salarosIT) [![Donate Liberapay](https://img.shields.io/badge/donate-Liberapay-ffc600.svg)](https://liberapay.com/salaros/) **isBizMail** tells you whether a given email address is free (gmail.com, yahoo.es, yandex.ru etc) or not. Detects around 4-5k domains and sub-domains. Under the hood **isBizMail** mostly relies on 3-rd party domain lists created by people and organizations mentioned in [Credits](#Credits) section. ## Looking for PHP, .NET etc? * [PHP implementation](https://github.com/salaros/is-biz-mail-php) (PHP 5.4.0+) * [.NET implementation](https://github.com/salaros/is-biz-mail-dotnet) (.NET Standard 2.0+) ## 🟊🟊🟊 Support this project 🟊🟊🟊 You can support us in a small way, please consider starring and sharing this repo! It helps us getting known and grow the community. ![star us](.github/assets/star_us.gif) ## Installation You can install **isBizMail** for JavaScript via your prefered dependency manager, e.g. PNMP, Yarn etc ```bash npm i @salaros/is-biz-mail # pnpm add @salaros/is-biz-mail ``` or via Yarn ```bash yarn add @salaros/is-biz-mail ``` ## Vanilla One of examples of vanilla JavaScript usage might be a simple HTML page: ```html <script src="https://cdn.jsdelivr.net/npm/@salaros/is-biz-mail@latest/dist/isBizMail.iife.js"></script> <script> var email = 'foo@nodejs.onmicrosoft.com'; var result = new isBizMail().isFree(email); console.log([email, result]); // (2) ["foo@nodejs.onmicrosoft.com", false], because *.onmicrosoft.com is considered a free domain </script> ``` ## TS / ESM ```js import IsBizMail from '@salaros/is-biz-mail'; const isBizMail = new IsBizMail(); const email = 'es6@gmail.com'; const result = isBizMail.isFree(email); console.log([email, result]); // (2) ["es6@gmail.com", true] // ... ``` ## [CommonJS](http://requirejs.org/docs/commonjs.html), Node.js etc ```js const IsBizMail = require('@salaros/is-biz-mail'); const isBizMail = new IsBizMail(); const email = 'cjs@yahoo.com'; const result = isBizMail.isFree(email); console.log([email, result]); // (2) ["cjs@yahoo.com", true] // ... ``` ## Testing: [Jest](https://jestjs.io/) ```bash npm install # pnpm/yarn install npm test # pnpm/yarn test ``` ## Credits * SpamAssasin's ['freemail domains'](https://raw.githubusercontent.com/apache/spamassassin/trunk/rules/20_freemail_domains.cf) filter * SpamAssasin's ['mailcom domains'](https://raw.githubusercontent.com/apache/spamassassin/trunk/rules/20_freemail_domains.cf) filter * Matthieu Moquet's [list of disposable emails](https://raw.githubusercontent.com/MattKetmo/EmailChecker/master/res/throwaway_domains.txt).