| Summary | Prevent users from using disposable email addresses | |
| Repository Link | https://github.com/magicball-network/discourse-indisposable-email | |
| 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.