If your WordPress contact form is not sending emails, start by finding where the message stops: the form notification, the sending service or the recipient’s mailbox. A customer seeing a confirmation message is not sufficient proof that your sales team received their enquiry.
WordPress makes this distinction explicit: a successful return from wp_mail() confirms that the sending method processed the request without an error, not that the recipient received it. For a small business, that gap deserves attention before spending more on traffic to the contact page.
Before you change anything
This guide covers WordPress sites where you can administer the form and mail configuration. The menu examples use WPForms documentation checked on 27 October 2026; labels and available features may differ with your installed version or licence. Other form plugins require their equivalent settings. Have access to the receiving mailbox, and involve whoever manages your sending service and DNS if later checks point there.
Record the current settings before editing them. Use harmless test details and a recognisable subject, such as “Website enquiry test 27 October”. Keep a short record of the time, recipient and outcome. Change one setting at a time so that you can tell which change helped.
1. Confirm that the right form triggers a notification
Open the form actually embedded on the contact page. In WPForms, go to Settings → Notifications, enable notifications and ensure the intended notification is active. Check the destination address: the default administrator address may not be the mailbox your sales team monitors. These controls are documented in WPForms’ notification setup guide.
Submit the public form yourself. If it refuses the submission or shows a validation error, investigate that failure before changing email delivery settings. If it accepts the submission, continue with the notification checks. The useful result here is a repeatable test of the correct form, not an assumption based on its appearance in the editor.
2. Check recipients and conditional rules
Inspect the recipient field for a misspelling, an incorrect field reference or badly separated addresses. WPForms requires commas between multiple recipients. Where conditional notifications are configured, the submitted answers must satisfy their rules; otherwise that notification will not run. See its notification troubleshooting documentation.
For a form that routes sales and support enquiries separately, test both routes and write down which mailbox should receive each one. A successful sales test does not establish that the support route works. This small test matrix is more useful than repeatedly submitting the same answers.
3. Separate the sender from the customer’s reply address
Use a valid sender address on your own domain that complies with the sending provider’s requirements. Do not put the visitor’s address in the From field. In WPForms, the visitor’s email field can instead supply Reply-To, allowing staff to reply to the customer while the notification comes from your configured sender. The setup documentation explains both fields.
When a test arrives, inspect the displayed sender and try a reply using an address you control. This checks a business requirement that delivery alone misses: can the person handling the enquiry respond to the intended recipient?
4. Verify the sending service is actually configured
Installing a mail plugin is not the same as completing its connection. WPForms notes that WP Mail SMTP initially uses the default PHP mailer; you must configure a supported mailer to change that behaviour. Follow the selected provider’s current connection instructions rather than copying unrelated server settings. The distinction is covered in WPForms’ troubleshooting guide.
If your mail integration offers a test function, use it and record the result. A failed test gives your host or mail provider a narrower problem to investigate. A successful test is a reason to retry the actual form: it does not, by itself, validate every notification rule.
5. Check authentication and the receiving mailbox
Look in spam as well as the inbox. For missing Gmail messages, Google’s contact-form troubleshooting guidance points to the sending system and its authentication. Establish whether your provider needs DNS records, an external SMTP connection or both. Ask the administrator to check the authorised senders in SPF and the provider’s DKIM setup where applicable.
Use the provider’s current instructions and account-specific values. Google warns that provider requirements can change; a sample DNS record from an unrelated tutorial is not a safe substitute. Keep existing legitimate senders in view when reviewing SPF. Authentication can address a cause of rejection, but it does not guarantee inbox placement.
6. Retest the complete enquiry journey
After a change, submit the public form again with a new test reference. Confirm the correct mailbox receives the message, the expected fields are present and the reply reaches your controlled test address. For conditional forms, repeat each relevant route.
If delivery still fails, send support the form URL, test time and time zone, intended recipient, sending service and any redacted error. Ask them to trace that specific attempt. Avoid sending passwords or real customer submissions as diagnostic examples.
Make the fix part of routine maintenance
Our recommendation is to treat a received, usable enquiry as the acceptance test. Add a form check after changes to hosting, mail providers or notification rules, and assign someone to own the result. For the wider continuity question, Nevelit’s practical resilience plan discusses preparing for service disruption.
This is a documentation-based guide, not a report of testing on your website. Its value is a controlled investigation: identify the failing stage, make a justified change and verify the outcome before closing the issue.
Leave a Reply