MailSafePro
Real-time email validation for WordPress via a secure REST proxy. Protects forms against disposable emails, typos, and invalid addresses without exposing API keys.
by Pablo Agudo · github.com/mailsafepro/mailsafepro-plugin-wordpress · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/mailsafepro/mailsafepro-plugin-wordpress/archive/refs/heads/main.zipReal-time email validation for WordPress via a secure REST proxy. No API keys in the browser. CF7, Gravity Forms & WooCommerce support.
Description
MailSafePro connects your WordPress site to your professional email validation API and checks email addresses in real time, without exposing secrets in the browser thanks to a site-local REST proxy.
Protect your forms against:
- Disposable/temporary emails with clear rejection messages
- Domain typos (e.g., gmai.com → gmail.com), with suggestions if your API provides them
- Role addresses (admin@, support@, noreply@) according to your API's rules
- Breach checks and SMTP verification when enabled by your API plan
Features:
- Live validation while users type (AJAX to your site's local proxy)
- Turnkey integrations for Contact Form 7, Gravity Forms, and WooCommerce
- Works with any standard
input type="email" - Email-level caching and configurable cache duration
- Rate limiting to prevent abuse
- Strict mode for high-security requirements
- Graceful degradation: submissions are never blocked by network failures
Privacy & Security:
- The API Key is stored on the server and never exposed in HTML or to the browser
- All requests go through a secure server-side proxy
- Responses are cached to reduce upstream calls and improve UX
- CSRF protection via WordPress nonces
- Rate limiting per IP address
Integrations:
- Contact Form 7 - Automatic email field validation
- Gravity Forms - Automatic email field validation
- WooCommerce - Checkout and registration email validation
- Any HTML form - Add
data-mailsafepro="1"to email inputs
Installation
- Upload the ZIP via Plugins → Add New → Upload Plugin
- Activate the plugin
- Go to Settings → MailSafePro
- Configure:
- API Base URL (e.g., https://api.yourdomain.com)
- Validation Path (e.g., /validate/email)
- API Key (your server-side key)
- Click "Test" to verify your configuration
- Enable Strict Mode if you want to block high-risk emails
For custom forms:
Add data-mailsafepro="1" to your email input:
<input type="email" name="email" data-mailsafepro="1" />
Or wrap it in a container:
`
`Frequently Asked Questions
Do I need my own API?
Yes. This plugin connects to your validation API and acts as a secure proxy from your WordPress site.
Is the API key exposed to the browser?
No. The key is sent only server-to-server via the local proxy; the frontend never sees it.
What happens if the API times out or is down?
The plugin degrades gracefully: it shows an informational message and allows submission; only explicit "invalid" from your API blocks.
Will it slow down my site?
No. The local endpoint includes email-level caching and lightweight rate limiting; requests are asynchronous.
How do I enable live validation without CF7/GF?
Add data-mailsafepro="1" to your email input or wrap it in a .mailsafepro-email-validator container.
Is it GDPR compliant?
Yes. The plugin does not store emails permanently, and the API Key is never exposed to clients. Confirm your API's data handling for full compliance.
Does it work with WooCommerce?
Yes! MailSafePro validates emails during checkout and registration automatically when WooCommerce is active.
What is Strict Mode?
Strict Mode blocks emails when your API returns suggested_action=reject or risk_score >= 0.7, even if the email is technically valid.
Screenshots
- Settings page with API configuration and test connection
- Successful email validation showing "Valid email" message
- Real-time validation detecting typo in domain with suggestion
- Live validation detecting temporary email address
- Contact Form 7 blocking disposable email with custom error message
- Integration status showing active plugins
Changelog
1.1.0
- Added WooCommerce integration for checkout and registration
- Added configurable cache duration setting
- Added configurable API timeout setting
- Added integration status display in settings
- Improved admin UI with better accessibility
- Improved error handling and messages
- Added plugin action links for quick access
- Added security index.php files in all directories
- Fixed option name inconsistency (validate_path → validation_path)
- Code refactoring for WordPress coding standards compliance
- Added comprehensive PHPDoc documentation
- Added WordPress hooks for extensibility
1.0.0
- Initial release with secure REST proxy
- Contact Form 7 integration
- Gravity Forms integration
- Live validation for custom forms
- Email-level caching
- Rate limiting
Upgrade Notice
1.1.0
New WooCommerce support, configurable settings, and improved admin UI. Recommended update for all users.
1.0.0
First stable release.