UserCheck
UserCheck blocks disposable and throwaway email addresses from your sign-up forms. The result: less spam, fewer fake accounts, and a cleaner user base. Supported plugins If you’re using any of these, UserCheck protects them automatically — nothing to configure: WordPress core (registration, comments
UserCheck blocks disposable and throwaway email addresses from your sign-up forms. The result: less spam, fewer fake accounts, and a cleaner user base.
Supported plugins
If you’re using any of these, UserCheck protects them automatically — nothing to configure:
- WordPress core (registration, comments, multisite signup, profile email change)
- WooCommerce (classic checkout, Cart/Checkout Block, account registration, Edit-account email change)
- Profile Builder (free + Pro)
- Contact Form 7
- WPForms
- Elementor Pro Forms
- Gravity Forms
- Fluent Forms
- Ninja Forms
- Formidable Forms
- MailPoet
Fallback for unsupported plugins
For plugins without a built-in integration, you can explicitly enable a fallback check under Settings → UserCheck → Coverage. It runs only on POST submissions, skips existing users and login attempts, and stays out of dashboard reads and background tasks.
Choose what to block
Pick which kinds of email addresses get blocked: domains that can’t receive email, disposable addresses, public providers (Gmail, Yahoo, etc.), forwarding services that hide the real address, and known spammers. Domains on your UserCheck account blocklist are always blocked.
Lightweight by design
Emails are checked only when users submit a form (registration, comment, checkout) — never re-checked for existing users or orders. No background scans, no surprises.
Resilient by design
If our service is ever down or slow, your site keeps working: sign-ups go through and the error is logged for review. Each request times out after 2 seconds, so an unresponsive API can’t hold up your forms.
Full email or domain only
Send the full email (more accurate) or just the domain.
Extensible
Developers can plug UserCheck into any plugin’s validation hook by calling UserCheck::instance()->evaluate_email( $email ) and acting on the returned action , reason , and message .