Detect and block any disposable email services with JavaScript.
benemohamed
Posted on June 16, 2023
π Welcome to the Disposable Email Blocker! π₯
Description π
The Disposable Email Blocker is a powerful tool designed to detect and prevent the use of disposable email services for account registrations. π«π»
Features β¨
- π‘οΈ Protects all HTML forms.
- π‘οΈ Detects invalid email addresses and domains
- π‘οΈ Blocks disposable email services
- π‘οΈ Blocks webmail email services
- π‘οΈ Custom error messages
- π‘οΈ Our system stays ahead of the game by continuously updating the database of disposable email providers to effectively identify new ones.
How to use π
To get started, follow these simple steps:
Install
$ npm install disposable-email-blocker --save
# or
$ yarn add disposable-email-blocker
Usage π₯οΈ
import { Blocker } from 'disposable-email-blocker';
new Blocker();
Use in browser
To use via a CDN include this in your HTML.
Using jsDelivr CDN:
<script src="https://cdn.jsdelivr.net/npm/disposable-email-blocker/disposable-email-blocker.min.js"></script>
<script>
new Disposable.Blocker();
</script>
or
<script
src="https://cdn.jsdelivr.net/npm/disposable-email-blocker/disposable-email-blocker.min.js"
block
></script>
Using unpkg CDN:
<script src="https://unpkg.com/disposable-email-blocker/disposable-email-blocker.min.js"></script>
<script>
new Disposable.Blocker();
</script>
or
<script
src="https://cdn.jsdelivr.net/npm/disposable-email-blocker/disposable-email-blocker.min.js"
block
></script>
Customizing Blocker
The Blocker constructor parameter.
Simple options
const defaults = {
apiUrl: 'string',
data: 'TombaStatusResponse[]',
disposable: {
message: 'string',
},
webmail: {
message: 'string',
block: false,
},
emailError: {
className: 'string',
style: `string`,
},
};
new Disposable.Blocker(defaults);
-
apiUrl
API URL. -
data
Custom Data. -
disposable.message
disposable error message. -
webmail.message
webmail error message. -
webmail.block
block webmail emails. -
emailError.className
HTML tag class . -
emailError.style
css style.
Custom disposable message
To disposable message:
const defaults = {
disposable: {
message:
'Abuses, strongly encourage you to stop using disposable email',
},
};
new Disposable.Blocker(defaults);
Custom webmail message
To webmail message:
const defaults = {
webmail: {
message:
'Warning, You can create an account with this email address, but we strongly encourage you to use a professional email address',
},
};
new Disposable.Blocker(defaults);
Custom API URL
const defaults = {
apiUrl: 'string',
};
new Disposable.Blocker(defaults);
Custom Data
This will stop API call
const defaults = {
data: [
{
domain: 'coronafleet.com',
webmail: true,
disposable: false,
},
],
};
new Disposable.Blocker(defaults);
Block webmail emails
const defaults = {
webmail: {
block: true,
},
};
new Disposable.Blocker(defaults);
Event
use the on()
API method.
Available Event name done
the Content is revealed on onInput
const blocker = new Blocker();
blocker.on('done', (e) => {
if (e.detail.disposable) {
alert(blocker.options.disposable.message);
}
});
Free Plugins / Forum / E-Commerce / CMS βΎοΈ
Platform | URL | Status |
---|---|---|
wordpress | wordpress-disposable-email-blocker | β |
MyBB | mybb-disposable-email-blocker | β |
LiteCart | litecart-disposable-email-blocker | β |
Cloudflare | cloudflare-disposable-email-blocker | β |
Vue 2 | disposable-email-blocker-vue-2 | β |
Vue 3 | disposable-email-blocker-vue-3 | π§ |
React | disposable-email-blocker-react | π§ |
Joomla | π§ | |
Drupal | π§ |
Development π¨βπ»
For development
Setup
- Clone this repository into it:
git clone https://github.com/tomba-io/disposable-email-blocker.git
cd disposable-email-blocker
yarn
Develop & debug
To start debugging session run:
yarn start
Note that while changes to experiments.ts
are hot-reloaded, changes to template.html
are not.
Note You can set breakpoints in your code and run a debugging session in vsc and other editors.
Build
yarn build
The output is in the /dist
.
Browsers support
IE / Edge |
Firefox |
Chrome |
Safari |
iOS Safari |
Samsung |
Opera |
---|---|---|---|---|---|---|
IE11, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
Contributing
- Fork it (https://github.com/tomba-io/disposable-email-blocker/fork)
- Create your feature branch (
git checkout -b my-new-email
) - Commit your changes (
git commit -am 'Add new email'
) - Push to the branch (
git push origin my-new-email
) - Create a new Pull Request
Contributors
- Mohamed Ben - creator and maintainer
License
Posted on June 16, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.