Website forms are one of the most important ways businesses receive enquiries, quote requests, bookings, support requests, and sales leads. But what happens when a visitor fills out your contact form and clicks Submit, only to receive an error—or worse, the form appears to work but the business never receives the email?
This is a common website problem, particularly on WordPress websites. A form can look perfectly normal on the front end while something behind the scenes prevents submissions from being delivered correctly. The problem could be related to the form plugin, email configuration, SMTP, hosting, spam filtering, DNS records, JavaScript conflicts, or a recent website update. In this guide, we’ll explain how to identify the cause of broken forms and missing website email notifications and what you can do to fix them.
Why Website Forms Stop Working
A website form depends on several components working together. Typically, the process looks like this:
Visitor → Website Form → Form Plugin → WordPress → Email System/SMTP → Recipient’s Mailbox
A failure at any stage can prevent the message from reaching the intended recipient.
Common causes include:
- Form plugin errors
- Plugin or theme conflicts
- Incorrect recipient email address
- WordPress mail configuration problems
- Hosting restrictions
- Missing SMTP configuration
- Emails being sent to spam
- JavaScript errors
- PHP errors
- Incorrect DNS or email authentication records
- Security or firewall rules
- Recent plugin or WordPress updates
- Website migration problems
- Expired or incorrectly configured integrations
The important point is that a form displaying correctly does not necessarily mean that email delivery is working correctly.
1. Check Whether the Form Actually Submits
Start by testing the form yourself.
Complete every required field and submit the form.
Look for one of these outcomes:
The form displays an error
For example:
- “There was an error trying to send your message.”
- “Submission failed.”
- “Something went wrong.”
- “Unable to send email.”
This usually indicates a problem during the submission or email-sending process.
The form shows a success message but no email arrives
This is a different type of problem. The form may successfully save the submission while the email notification fails.
In this situation, check the email configuration, SMTP setup, spam folder, and server-side mail delivery.
Nothing happens when you click Submit
This can indicate a JavaScript problem, browser issue, caching problem, or conflict with another plugin or script.
2. Check the Form’s Email Notification Settings
Many form plugins have separate settings for:
- Recipient email
- Sender email
- Reply-to address
- Subject line
- CC/BCC
- Confirmation messages
- Notification rules
Check the recipient address carefully. A simple configuration mistake can cause notifications to be sent to the wrong mailbox. For example, your website might be configured to send enquiries to an old employee’s email address or an incorrectly typed domain. Also check whether multiple notification rules exist.
Some forms send different notifications depending on the selected service, enquiry type, location, or other form fields.
3. Check the WordPress Email Configuration
WordPress commonly relies on its mail functionality to send website-generated emails.
These can include:
- Contact form notifications
- Password reset emails
- New user notifications
- WooCommerce order emails
- Booking notifications
- Website enquiry emails
If WordPress email delivery is not configured properly, several unrelated website emails can stop arriving. This is why it is useful to test more than just the contact form. For example, if password-reset emails are also not arriving, the problem may be broader than the form itself.
4. Check SMTP Configuration
One of the most common solutions for unreliable WordPress email delivery is using SMTP. SMTP stands for Simple Mail Transfer Protocol and provides a more reliable method for sending website emails through an authenticated mail server. Depending on your email provider, SMTP configuration may require details such as:
- SMTP host
- SMTP port
- Encryption method
- Authentication
- Username
- Password or application password
The exact configuration depends on your hosting provider or email service. If your website relies on important enquiries or transactions, properly configured email delivery should not be treated as an optional technical detail.
5. Check the Spam or Junk Folder
Sometimes the website is successfully sending the email, but the recipient’s email provider is filtering it.
Check:
- Spam
- Junk
- Promotions
- Quarantine
- Security filtering
- Mail rules
If the messages consistently go to spam, the problem may involve email authentication or sender reputation rather than the form itself.
6. Check SPF, DKIM and DMARC
Modern email systems use authentication mechanisms to determine whether a message is legitimately being sent from a domain.
Three important technologies are:
SPF
Sender Policy Framework (SPF) helps specify which servers are authorized to send email for a domain.
DKIM
DomainKeys Identified Mail (DKIM) adds a cryptographic signature that helps receiving servers verify that an email was authorized and wasn’t modified in transit.
DMARC
Domain-based Message Authentication, Reporting & Conformance (DMARC) allows domain owners to define how receiving mail systems should handle messages that fail authentication checks. Incorrect or incomplete email authentication can contribute to delivery problems. This is especially important when a business website sends email using a domain such as:
yourbusiness.com
while the website is hosted somewhere different from the company’s email provider.
7. Check for Plugin Conflicts
WordPress websites often use multiple plugins.
A form plugin may interact with:
- Caching plugins
- Security plugins
- SMTP plugins
- Optimization plugins
- Page builders
- Firewall systems
- CRM integrations
- Spam protection tools
A recent plugin update can sometimes introduce compatibility problems. If the form worked previously and suddenly stopped after an update, check what changed immediately before the problem appeared. Avoid randomly disabling plugins on a production website without understanding the possible impact. A safer approach is to reproduce the issue in a staging environment where possible.
Security controls are important for protecting a WordPress website, but they need to be configured carefully so they do not interfere with legitimate website functionality. A firewall, CAPTCHA system, anti-spam tool, or other security rule can sometimes prevent genuine visitors from submitting a form or communicating with another website service.
For a practical guide to protecting WordPress while keeping forms, APIs, plugins, and other website functionality working correctly, see how to secure a WordPress website without breaking functionality.
Plugin conflicts are one example of why website functionality can require more than simply installing or replacing a plugin. Forms often depend on JavaScript, email systems, third-party services, CRM integrations, security settings, and other parts of the website working together correctly. When these dependencies are not properly tested, a website may appear functional while important business processes such as lead collection or email notifications fail.
For a broader look at how AI-generated websites compare with professionally developed websites, including differences in testing, integrations, customization, security, and ongoing technical support, read our guide to AI-generated websites vs professionally developed websites.
Plugin conflicts are not always isolated form problems. A security plugin, outdated extension, caching system, or incompatible theme can affect both website functionality and security. This is why troubleshooting a broken form should also be considered part of the wider process of keeping a WordPress website secure, updated, compatible, and properly maintained.
If you want to understand how these responsibilities differ and where they overlap, see our guide to website security vs website maintenance.
8. Check JavaScript Errors
If clicking the Submit button does nothing, JavaScript could be involved.
Modern forms often use JavaScript for:
- Validation
- AJAX submissions
- CAPTCHA
- Conditional fields
- Loading states
- Confirmation messages
These tools can sometimes introduce layout or performance problems. A third-party widget may have been designed primarily for desktop or may load additional JavaScript and CSS that affects the mobile experience. When troubleshooting a mobile issue, third-party integrations should not be overlooked. If these issues persist, our website maintenance and technical support services can help identify and resolve website performance and compatibility problems.
9. Check CAPTCHA and Spam Protection
Forms often use:
- Google reCAPTCHA
- Cloudflare Turnstile
- Honeypots
- Anti-spam plugins
- Security firewalls
If one of these services is incorrectly configured, legitimate visitors may be unable to submit the form.
Check whether:
- API keys are valid
- The domain is correctly registered
- The CAPTCHA version matches the integration
- The service is returning errors
- Security rules are blocking submissions
10. Check Hosting and Server Restrictions
Your hosting environment can also affect email delivery. Some hosting providers restrict or limit PHP-based email sending to reduce spam.
Other problems can occur because of:
- Server configuration
- PHP version changes
- Mail server restrictions
- Outgoing port restrictions
- Firewall rules
- Hosting migrations
- Resource limitations
If the form itself appears to work but messages never leave the server, server-level investigation may be necessary.
11. Check Recent Website Changes
Think about what changed immediately before the problem started.
Common triggers include:
- WordPress updates
- Plugin updates
- Theme updates
- PHP version changes
- Hosting migrations
- DNS changes
- Domain changes
- SSL changes
- SMTP changes
- New security rules
- Website redesigns
- Form plugin changes
A form that suddenly stops working often has a connection with a recent technical change. Checking the website’s change history can significantly reduce troubleshooting time.
12. Check Whether Form Submissions Are Being Stored
Some form plugins store submissions inside WordPress. If your plugin provides an entry or submission database, check whether new submissions are appearing there. This helps determine where the problem occurs.
If submissions are being stored but emails are missing
The problem is more likely related to:
- Email notifications
- SMTP
- Mail delivery
- Spam filtering
- DNS authentication
- Recipient configuration
If submissions aren’t being stored either
The problem may involve:
- Form processing
- JavaScript
- PHP
- Plugin conflicts
- Security rules
- Database problems
- Form configuration
This distinction can make troubleshooting much faster.
If submissions are not being stored, the problem may involve more than the form itself. A WordPress website with multiple plugins can have several interconnected components affecting form processing, JavaScript, security, caching, databases, and external services. The more dependencies involved, the more possible causes need to be investigated when something stops working.
Read why too many WordPress plugins can hurt your website to understand how plugin dependencies can make WordPress troubleshooting more complicated.
13. Test With More Than One Email Address
Don’t test only one recipient. Try sending a test submission to different addresses where appropriate.
For example:
- Business-domain email
- Gmail
- Microsoft email account
If one recipient receives the message while another doesn’t, the problem may be related to recipient-side filtering or email authentication. If nobody receives the message, investigate the website’s email-sending process.
14. Check Website Caching
Caching normally improves website performance, but incorrectly configured caching can interfere with dynamic functionality.
This can happen with:
- Aggressive page caching
- JavaScript optimization
- Script combination
- Script delay
- CDN caching
- Form-specific caching issues
Forms generally need their dynamic functionality to remain intact. If the form stopped working after enabling a performance optimization feature, temporarily testing without that optimization can help identify the cause.
Caching and performance optimization can improve a website significantly, but they need to be configured carefully around dynamic features such as forms. A website may technically load faster while still creating problems for visitors if JavaScript, form requests, or other interactive elements are delayed or blocked. This is why website performance should be evaluated not only by loading speed, but also by how quickly and reliably users can complete important actions.
For a deeper look at how website performance affects business results, search visibility, and user experience, read our guide on how website speed impacts sales, SEO, and user experience.
15. Don’t Assume the Form Plugin Is the Problem
A common mistake is immediately replacing the form plugin. That may not solve the underlying problem.
For example:
Form Plugin → WordPress Mail → SMTP → Mail Server → Recipient
If the SMTP or DNS configuration is broken, replacing the form plugin may simply reproduce the same problem.
The correct approach is to identify where the failure occurs before changing the software.
A Practical Troubleshooting Checklist
Before replacing your form, check:
- Does the form submit successfully?
- Does it display an error?
- Are submissions stored?
- Is the recipient email correct?
- Is the sender email configured correctly?
- Is the Reply-To address configured correctly?
- Are emails reaching spam?
- Is SMTP configured?
- Are SMTP credentials valid?
- Are SPF records configured?
- Is DKIM configured?
- Is DMARC configured?
- Are CAPTCHA settings working?
- Are there JavaScript console errors?
- Did a plugin recently update?
- Did WordPress recently update?
- Did the hosting environment change?
- Did DNS records recently change?
- Is a security plugin blocking submissions?
- Is caching affecting the form?
- Are other WordPress emails working?
When Should You Hire a Developer?
Some website form problems are simple configuration issues. Others require investigation across several technical layers.
Consider getting professional help when:
- The form stopped working after a website update.
- Form submissions are disappearing.
- SMTP configuration is failing.
- You see PHP or JavaScript errors.
- Multiple plugins appear to conflict.
- The website recently migrated to a new host.
- DNS or email authentication needs to be corrected.
- Forms work inconsistently.
- Customers report that enquiries are not reaching your business.
- You cannot determine whether the problem is the form, WordPress, hosting, or email system.
For a business website, missing form notifications can mean missed enquiries and lost opportunities. The cost of leaving the problem unresolved can be much higher than the cost of diagnosing and fixing it.
Final Thoughts
A broken contact form is not always a simple form-plugin problem. The failure can occur anywhere between the visitor submitting the form and the final email arriving in the recipient’s inbox. The most effective approach is to troubleshoot the complete process:
Form → Submission → WordPress → Email Configuration → SMTP → Mail Server → Recipient
By checking each stage systematically, you can identify the actual cause instead of repeatedly replacing plugins or changing settings without knowing what is wrong. If your website forms are broken, emails are missing, or enquiries are not reaching your team, a professional technical audit can help identify the issue and determine the appropriate fix.
