Privacy-first email validation for WordPress. Validate emails in real-time using your own infrastructure.
Stop losing customers to typos—without compromising their privacy.
Correct Contact is the only WordPress email validation plugin that runs entirely on your own infrastructure. No third-party services. No data sharing. No API limits. Just fast, reliable email validation that respects your users' privacy.
Traditional email validation services send your customers' email addresses to external APIs. This creates:
- ❌ Privacy concerns - Customer data leaves your control
- ❌ GDPR compliance issues - Third-party data processing
- ❌ Vendor lock-in - Dependent on external services
- ❌ Usage limits - Pay per validation or monthly caps
Correct Contact is different:
- ✅ Your infrastructure - Validation server runs in your DigitalOcean account
- ✅ Your data - Customer emails never leave your control
- ✅ Your rules - Full ownership and compliance
- ✅ Unlimited validations - No per-validation fees or usage limits
Real-time validation with instant visual feedback catches typos before users submit forms.
| Status | Indicator | Meaning |
|---|---|---|
| ✅ Valid | Green checkmark | Email validated successfully |
| Orange warning | Typo detected or invalid email | |
| 🔄 Validating | Loading spinner | Validation in progress |
| 💬 Message | Helper text | Clear guidance for users |
- Fewer failed transactions - Catch typos before checkout
- Fewer support tickets - Users fix errors immediately
- Better conversion rates - Smooth, frustration-free experience
- Higher data quality - Valid emails from the start
- Instant feedback as users type
- Asynchronous validation (doesn't block forms)
- Validates syntax, domain, and mailbox
- Graceful timeout handling
- WooCommerce - Block checkout on validation failure
- Easy Digital Downloads - Prevent purchases with invalid emails
- Any WordPress form - Use CSS selectors to target any email field
- Contact forms - Gravity Forms, Contact Form 7, WPForms, Ninja Forms, etc.
- Target multiple email fields using CSS selectors
- Enable/disable checkout blocking per platform
- Customize validation behavior
- Advanced settings for power users
- One-click DigitalOcean integration
- Automatic server provisioning
- Guided setup wizard
- No technical expertise required
- Clean, modern PHP codebase
- PSR-4 autoloading with Composer
- Extensible architecture
- Well-documented code
- WordPress Coding Standards compliant
No per-validation fees. No usage limits. No surprises.
| Service | Cost | Validations |
|---|---|---|
| Correct Contact | ~$10/month | Unlimited |
| ZeroBounce | $16/month | 2,000 |
| NeverBounce | $10 | 1,000 (one-time) |
| Hunter.io | $49/month | 5,000 |
You pay only for your DigitalOcean infrastructure (~$10/month for a basic droplet). That's it. Validate 10 emails or 10,000 emails—the cost stays the same.
New to DigitalOcean? New accounts receive $200 in free credit for 60 days—more than enough to test the plugin risk-free.
- PHP 7.2 or higher
- WordPress 5.0 or higher
- A DigitalOcean account (free to create)
-
Install the plugin
# Via WordPress admin Plugins > Add New > Search "Correct Contact" # Or via WP-CLI wp plugin install correct-contact --activate
-
Run the setup wizard
- Navigate to Settings > Correct Contact
- Follow the guided setup wizard
- The wizard will create your validation server automatically
-
Configure email fields
- Add CSS selectors for email fields to validate
- Example:
#email, .email-field, input[type="email"]
-
Done!
- Real-time validation is now active on your site
If you already have a Truemail instance:
- Skip the setup wizard
- Navigate to Settings > Correct Contact > Advanced
- Enter your Truemail instance URL
- Enter your access token
- Save settings
WordPress Site
↓
Correct Contact Plugin
↓ (AJAX request)
Your Truemail Server (DigitalOcean)
↓ (validation)
DNS/SMTP Checks
↓ (result)
Real-time Feedback to User
- User types email - JavaScript captures input
- AJAX request - Sent to WordPress
- Truemail validation - Your server validates the email
- Result cached - Stored in WordPress transient (10 minutes)
- Visual feedback - User sees checkmark or warning
Powered by Truemail, the plugin performs:
- Syntax validation - RFC-compliant email format checking
- DNS validation - Verifies domain exists and has MX records
- SMTP validation - Confirms mailbox exists (when possible)
Fields to Validate
- Add CSS selectors for email fields (comma-separated)
- Example:
#edd-email, #billing_email, .contact-email - Supports classes, IDs, and attribute selectors
Prevent Purchase on Failure
- Enable to block WooCommerce/EDD checkout on validation failure
- Fails silently on timeout (doesn't block legitimate users)
Access Token
- Your Truemail instance access token
- Generated during setup wizard
- Can be manually configured
Application URL
- Your Truemail instance URL
- Example:
https://your-app.ondigitalocean.app - Automatically configured by setup wizard
- No third-party services - Validation happens on your infrastructure
- No data sharing - Customer emails never sent to external APIs
- No tracking - Plugin doesn't collect analytics or usage data
- Full control - You own and control all validation data
Since validation happens on your own infrastructure, customer data never leaves your control. This makes GDPR compliance much simpler compared to third-party validation services.
- Token-based authentication - Secure API communication
- Nonce verification - CSRF protection on all AJAX requests
- Capability checks - Admin functions require
manage_options - Input sanitization - All user input properly sanitized
- Output escaping - All output properly escaped
# Clone the repository
git clone https://github.com/Dan0sz/correct-contact.git
cd correct-contact
# Install dependencies
composer install
# Run code standards check
composer phpcs
# Run code beautifier
composer phpcbfcorrect-contact/
├── assets/
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript files
│ └── images/ # Icons and images
├── src/
│ ├── Admin/ # Admin interface
│ │ ├── Notice.php # Admin notices
│ │ ├── Settings.php # Settings page
│ │ └── Wizard/ # Setup wizard
│ │ └── Ajax.php # Wizard AJAX handlers
│ ├── Compatibility/ # Platform integrations
│ │ ├── EDD.php # Easy Digital Downloads
│ │ └── WooCommerce.php
│ ├── Ajax.php # Frontend AJAX handlers
│ ├── Client.php # Truemail API client
│ ├── Compatibility.php # Base compatibility class
│ ├── Helper.php # Helper functions
│ ├── Options.php # Options management
│ └── Plugin.php # Main plugin class
├── vendor/ # Composer dependencies
├── composer.json # Composer configuration
├── correct-contact.php # Plugin entry point
└── README.md # This file
This plugin follows:
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Found a bug? Have a feature request?
- GitHub Issues - Open an issue
- WordPress Forums - Community support
Reduce cart abandonment and failed orders by catching email typos at checkout.
Ensure users can receive login credentials and important notifications.
Improve email list quality by validating emails at the point of capture.
Validate user registrations to reduce bounce rates and improve deliverability.
Catch typos in contact forms to ensure you can reach out to leads.
| Feature | Correct Contact | Third-Party Services |
|---|---|---|
| Privacy | ✅ Your infrastructure | ❌ External APIs |
| GDPR Compliance | ✅ Full control | |
| Cost | ✅ ~$10/month unlimited | ❌ Per-validation fees |
| Usage Limits | ✅ None | ❌ Monthly caps |
| Vendor Lock-In | ✅ None | ❌ Dependent on service |
| Data Ownership | ✅ 100% yours | ❌ Shared with vendor |
| Setup | ✅ Automated wizard | |
| Reliability | ✅ Your control |
| Metric | With Validation | Without Validation |
|---|---|---|
| Failed Transactions | ↓ 60-80% | Baseline |
| Support Tickets | ↓ 40-50% | Baseline |
| Email Deliverability | ↑ 30-40% | Baseline |
| Data Quality | ↑ 70-90% | Baseline |
- Average validation time: 200-500ms
- Cached results: Instant (stored for 10 minutes)
- Timeout threshold: 15 seconds
- Graceful degradation: Forms work even if validation fails
- Server load: Minimal (validation offloaded to Truemail)
- Database queries: None (uses WordPress transients)
- JavaScript size: ~3KB (minified)
- CSS size: ~1KB (minified)
Validation not working
- Check that your Truemail server is running
- Verify access token and app URL in settings
- Check browser console for JavaScript errors
Setup wizard fails
- Ensure DigitalOcean API token has correct permissions
- Check that payment method is added to DigitalOcean account
- Try selecting a different datacenter region
Forms still submit with invalid emails
- Ensure "Prevent Purchase on Failure" is enabled
- Check that CSS selectors match your email fields
- Verify WooCommerce/EDD integration is active
Enable WordPress debug mode to see detailed error messages:
// wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);This plugin is licensed under the GNU General Public License v2.0 or later.
- Truemail - Open-source email validation library
- DigitalOcean - Cloud infrastructure provider
WordPress plugin developer specializing in performance optimization and privacy-focused solutions.
- OMGF - Host Google Fonts locally
- CAOS - Host Google Analytics locally
- WP Help Scout Docs - Embed Help Scout documentation
- WordPress Forums - wordpress.org/support/plugin/correct-contact
- GitHub Issues - github.com/Dan0sz/correct-contact/issues
Need help with setup, customization, or integration? Contact me for premium support options.
If you find this plugin helpful, please:
- ⭐ Star this repository on GitHub
- ⭐ Rate the plugin on WordPress.org
- 🐦 Share on social media - Help others discover privacy-first email validation
- 💬 Write a review - Your feedback helps improve the plugin
Made with ❤️ for the WordPress community