Indisposable Email

:information_source: Summary Prevent users from using disposable email addresses
:hammer_and_wrench: Repository Link https://github.com/magicball-network/discourse-indisposable-email
:open_book: Install Guide How to install plugins in Discourse

Features

This plugin will verify for disposable email addresses when a user tries to use them. It makes use of several online services which provide this validation, you need to sign up with at least one of them.

The following online services are supported:

You can use multiple services. When an email needs to be verified it will pick a random one from the list until a services responds that the email domain is either a disposable one, or not. If there are no available or working services the domain will be accepted.

Verification is only one after the after the standard email verification of Discourse have passed. So domains already added to the blocked_email_domains setting takes precedence.

Some of the supported services have quite acceptable free tiers. So for a small forum is will probably not cost you anything.

The result of a verification is cached for a while.

The actual email addresses used by users are not send to the services, the local part will be replaced by “example”. So if the users enters “my-name@some-domain.test” then a check is performed on “example@some-domain.test”.

Configuration

Install the plugin and configure at least one service to use.

Settings

Include a table of settings and setting descriptions

Name Description
indisposable_email_enabled Enable the service
indisposable_email_update_blocked_domains Add disposable domains to the blocked email domains setting. Warning! There are a lot of disposable email domains. Enabling this could grow into a really long list.
indisposable_email_allow_cache Hours to cache the results of an non-disposable email domain. You do not want to set this too long. Defaults to a day.
indisposable_email_deny_cache Hours to cache the the result of a disposable email domain. Defaults to a week.

Each supported service has a setting to enter it’s API key. A service will only be used when a key has been configure.

1 Like

The quality of determination of disposable email domains varies between the services. For example I found that Mailsac does not detect a bunch of disposable email domains.

The first successful response of a service about a domain will be used. So if it’s a false negative by one service the email address will be accepted.

1 Like