A contact form is often the main way a small business website turns a visitor into an enquiry, so it has to be easy to use, hard for spam bots, and, above all, it has to deliver. This guide compares the WordPress contact form plugins worth considering in 2026, helps you pick one, and shows how to make sure the messages actually arrive when your site is hosted with Domain India.
For a simple free form, Contact Form 7 is lightweight and flexible but has no drag-and-drop builder; WPForms Lite, Fluent Forms and Forminator are easier for beginners. For payments, complex logic or workflows, look at Gravity Forms, Formidable Forms or the paid tiers of WPForms and Fluent Forms. Whichever you choose, set the From address to a mailbox on your own domain, put the visitor in Reply-To, add a CAPTCHA or honeypot, and send a test. On Domain India cPanel hosting, plugins send through PHP mail(); SMTP mailer plugins fail unless you use their HTTPS API option.
1. What to look for in a form plugin
- Ease of building: a drag-and-drop builder and templates, or shortcode-and-markup control.
- Spam protection: built-in honeypot, CAPTCHA options (reCAPTCHA, hCaptcha or Cloudflare Turnstile) and Akismet support.
- Saved entries: whether submissions are stored in WordPress, so nothing is lost if an email goes astray.
- Integrations: email marketing, CRM, payment gateways, Google Sheets or webhooks, if you need them.
- Performance: how much script and style it loads on every page.
- Maintenance: regular updates and compatibility with the current WordPress version.
2. The main plugins compared
| Plugin | Pricing model | Builder | Best for |
|---|---|---|---|
| Contact Form 7 | Free | Form tags in a text editor | Developers and simple forms |
| WPForms | Free Lite version, paid plans | Drag and drop | Beginners and small businesses |
| Fluent Forms | Free, paid Pro | Drag and drop | Feature-rich free forms |
| Forminator | Free, paid Pro | Drag and drop | Forms, polls and quizzes |
| Ninja Forms | Free core, paid add-ons | Drag and drop | Pay only for the add-ons you need |
| Formidable Forms | Free, paid plans | Drag and drop | Data apps, calculators and reports |
| Gravity Forms | Paid only | Drag and drop | Complex workflows and payments |
| Everest Forms | Free, paid Pro | Drag and drop | Simple multi-column forms |
| HubSpot | Free plugin with HubSpot account | Built in HubSpot | Sending leads straight to a CRM |
Plugin pricing changes often, so check the plugin's own website for current plans.
3. Short reviews
Contact Form 7. One of the oldest and most installed form plugins, free, and light on the front end. You build forms with form tags rather than drag and drop, which suits developers. It does not save submissions by default; the free Flamingo plugin from the same author stores them.
WPForms. A polished drag-and-drop builder with many templates. The free Lite version covers basic contact forms; conditional logic, file uploads, payments and most integrations are in the paid plans. Easy for non-technical owners.
Fluent Forms. A fast drag-and-drop builder with a generous free version, including saved entries and conditional logic. A good choice if you want many features without paying at the start.
Forminator. A free builder that also creates polls, quizzes and calculators, with privacy settings for how long entries are kept.
Ninja Forms. A free core with paid add-ons for payments, file uploads and integrations, so you pay only for what you use.
Formidable Forms. Strong at data-driven forms: calculations, views that display entries on the site, and reporting. More than most contact pages need.
Gravity Forms. Paid only, and a long-standing choice for agencies. Deep conditional logic, multi-page forms, payment add-ons and a large developer ecosystem.
Everest Forms and HubSpot. Everest Forms is a simple, beginner-friendly builder. HubSpot's plugin is useful mainly if you already use HubSpot as your CRM.
Caldera Forms, which older guides recommend, has been discontinued and no longer gets security updates. If your site still uses it, or any form plugin with no recent updates, move your forms to a maintained plugin. Unmaintained plugins are a common way WordPress sites get hacked.
4. How to choose
Whatever you pick, install one form plugin, not several. Two form plugins loading scripts on every page slow the site and double the code to keep updated.
5. Set up your first form
- Install the plugin.In WordPress, go to Plugins › Add New, search for the plugin, click Install Now and then Activate.
- Create the form.Keep it short: name, email, message and, only if you need it, a phone number. Every extra field loses some visitors.
- Set the notification email.Send notifications to your enquiry address, set the From address to a real mailbox on your own domain (for example
[email protected]), and map the visitor's email field to Reply-To. - Turn on spam protection.Enable the honeypot, then add reCAPTCHA v3, hCaptcha or Cloudflare Turnstile.
- Add a consent line if you store data.Tell visitors what you do with their details and link your privacy policy.
- Publish and test.Add the form to a page, submit a test enquiry and check that it arrives, including in the spam folder.
6. Make sure the emails arrive
Most "my contact form does not work" problems are about email delivery, not the form itself.
- Use your own domain in From. Putting the visitor's address in From makes the message fail SPF and DMARC checks, so it lands in spam or is rejected. Use Reply-To for the visitor.
- Send a proper test. Send an enquiry to a Gmail address you own, open it and choose Show original. Check that SPF, DKIM and DMARC show PASS.
- Keep entries in WordPress. If your plugin can store submissions, turn it on, so an enquiry is not lost if an email fails.
- Set up SPF, DKIM and DMARC. See email authentication: SPF, DKIM and DMARC.
7. Running WordPress contact forms on Domain India
- How plugins send on our servers. WordPress form plugins send through
wp_mail(), which uses PHPmail(). That works on every Domain India shared server. On our cPanel servers the envelope sender cannot be set from WordPress, so check that DKIM is valid in cPanel under Email › Email Deliverability; DKIM is on by default for new cPanel accounts. - SMTP mailer plugins. Plugins such as WP Mail SMTP, FluentSMTP or Post SMTP fail on our cPanel servers when they try a direct SMTP connection, because the PHP socket functions they need are disabled. If you use one, choose its HTTPS API mailer (for example Amazon SES, Brevo or Mailgun) or stay on the default
mail(). The full details are in sending email from PHP, section 9. - Sending limit. Every message counts towards your account's outgoing limit: 200 messages per hour per account on cPanel and 1,000 per day (200 per mailbox by default) on DirectAdmin. An unprotected form can use that up in minutes, so spam protection is essential.
- Installing WordPress. cPanel includes Softaculous and WP Toolkit, and DirectAdmin includes Softaculous, for one-click installs. See our WordPress hosting page and mastering WordPress: a step-by-step guide.
For the working setup summarised in one place, read the comprehensive guide to configuring contact forms. To add a CAPTCHA by hand, see implementing Google reCAPTCHA.
8. Troubleshooting
| Problem | Likely cause | What to do |
|---|---|---|
| Form says sent, but no email arrives | From address not on your domain, or mail filtered as spam | Set From to your own mailbox, check spam, check DKIM |
| Error mentioning stream_socket_client or fsockopen | An SMTP plugin trying a direct SMTP connection | Switch the plugin to an HTTPS API mailer or back to the default mail() |
| Hundreds of junk submissions | No spam protection | Turn on the honeypot and a CAPTCHA, and Akismet if the plugin supports it |
| Form stops sending in the middle of a spam wave | Hourly or daily sending limit reached | Add spam protection, then ask support if mail stays blocked |
| 403 error when saving the form | A firewall rule blocked the request | Open a ticket with the URL, the time and your IP address |
| Form breaks after an update | Conflict with another plugin or the theme | Update everything, then disable other plugins one at a time on a staging copy |
9. Privacy and data protection
A contact form collects personal data. In India, the Digital Personal Data Protection Act, 2023 applies to how you handle it; if you have visitors in Europe, the GDPR may apply too. This is general information, not legal advice. As good practice: ask only for what you need, say why in a short notice with a link to your privacy policy, delete old entries you no longer need, and keep your plugins updated.
What is the best free contact form plugin for WordPress?
For a simple form, Contact Form 7 is free and lightweight but uses form tags instead of drag and drop. WPForms Lite, Fluent Forms and Forminator are free drag-and-drop builders that are easier for beginners. Choose one that is actively updated.
Why are my WordPress contact form emails not arriving?
Usually the From address is not a real mailbox on your domain, or the message is filtered as spam. Set From to a mailbox on your own domain, put the visitor's address in Reply-To, check your spam folder and make sure SPF, DKIM and DMARC are set up.
Can I use WP Mail SMTP on Domain India hosting?
On Domain India cPanel hosting, a direct SMTP connection from WordPress fails because the PHP socket functions it needs are disabled. Use the plugin's HTTPS API mailer option, such as Amazon SES, Brevo or Mailgun, or keep WordPress on its default mail() sending.
Does Contact Form 7 save form submissions?
Not by default. It emails each submission. To store submissions in WordPress as well, install the free Flamingo plugin from the same author.
How do I stop spam through my contact form?
Turn on the plugin's honeypot, add a CAPTCHA such as reCAPTCHA v3, hCaptcha or Cloudflare Turnstile, and enable Akismet if the plugin supports it. On shared hosting this also protects your account's outgoing mail limit.
Is Caldera Forms still safe to use?
No. Caldera Forms has been discontinued and no longer receives security updates. Rebuild your forms in a maintained plugin and remove it.
How many emails can my contact form send on Domain India hosting?
Every message counts towards your account's limit: 200 messages per hour per account on cPanel and 1,000 per day (200 per mailbox by default) on DirectAdmin.
Ready to add a contact form that delivers? Install WordPress on Domain India WordPress hosting, follow the contact form configuration guide, or open a support ticket if your form still won't send.
One-click WordPress installs, email accounts on your own domain, and 24/7 live chat support to check your form's mail setup with you.
See WordPress hosting