The Disposable Email Blocker is a powerful tool designed to detect and prevent the use of disposable email services for account registrations. π«π»
- π‘οΈ 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.
To get started, follow these simple steps:
$ npm install disposable-email-blocker --save
# or
$ yarn add disposable-email-blocker
import { Blocker } from 'disposable-email-blocker';
new Blocker();
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>
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.
To disposable message:
const defaults = {
disposable: {
message:
'Abuses, strongly encourage you to stop using disposable email',
},
};
new Disposable.Blocker(defaults);
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);
const defaults = {
apiUrl: 'string',
};
new Disposable.Blocker(defaults);
This will stop API call
const defaults = {
data: [
{
domain: 'coronafleet.com',
webmail: true,
disposable: false,
},
],
};
new Disposable.Blocker(defaults);
const defaults = {
webmail: {
block: true,
},
};
new Disposable.Blocker(defaults);
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);
}
});
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 | joomla-disposable-email-blocker | β |
Drupal | π§ |
For development
- Clone this repository into it:
git clone https://github.com/tomba-io/disposable-email-blocker.git
cd disposable-email-blocker
yarn
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.
yarn build
The output is in the /dist
.
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 |
- Fork it (https://github.com/tomba-io/disposable-email-blocker/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- Mohamed Ben - creator and maintainer