Article
Why is my website contact form not sending emails?
Published . Updated .
Your contact form is not sending emails for one of three reasons. The message goes to the wrong address, the message lands in spam, or your mail provider rejects it because of how the website sent it. The third reason is the most common, and it is the one nobody tells you about.
Start with a test. The result tells you which cause you have.
Test the form yourself
Fill out the form with a real message. Use an email address at a different provider than your business email. If your business email runs on your own domain, use a Gmail address for the test.
Watch what the form does. If it shows an error, the form itself is broken. If it shows a thank-you message, the form worked and the problem is delivery.
Then wait five minutes and check your inbox. Check your spam or junk folder too. Check the folder where your mail provider puts “promotions” or “other” mail.
Check where the form sends mail
Every form has a setting for the address that receives messages. Open it and read the address letter by letter.
I see three problems here. The address has a typo. The address belongs to someone who left the business. Or the address was set once, years ago, and the mailbox has since been closed or filled up.
In WordPress, this setting lives in the form plugin. In Wix and Squarespace, it lives in the form’s settings inside the editor. If someone else built your site, you may need to ask them for access. Who owns your website? explains why you want your own logins.
Look in the form’s saved entries
Many forms save every submission inside the website dashboard, separate from the email. Look for a section called Entries, Submissions, or Messages.
This one check splits the problem in two.
Entries are saved, but no email arrives. The form works. The email delivery does not. Read the next section.
Nothing is saved. The form is broken before it reaches the email step. Common causes are a plugin update that broke the form, a spam-protection tool (such as a captcha) that blocks real visitors, or a script error on the page. Test the form in a second browser. If it fails there too, the page needs repair.
If the entries exist, read through them. They are the leads you missed. Reply to them now.
Why the email never arrives
This is the main cause. Here is what happens.
When someone submits your form, your website’s server builds an email and sends it. Often the email says it is from your own address, such as info@yourbusiness.ca. Gmail, Outlook, and other providers then ask a question. Is this server allowed to send mail for yourbusiness.ca?
They find the answer in your domain’s DNS records. Three records matter: SPF, DKIM, and DMARC. SPF lists the servers allowed to send mail for your domain. DKIM adds a signature that proves the message was not changed. DMARC tells providers what to do when the checks fail.
If your website’s server is not on that list, the provider may send the message to spam or reject it with no notice to you. The form shows a thank-you message either way. The visitor thinks you got it. You did not.
A domain can have only one SPF record. This causes trouble when a business adds a second email service, such as a newsletter tool, and creates a second record instead of editing the first. Providers read two records as an error. What is a domain for a website? covers where DNS records live and who can change them.
The fix for delivery problems
Two changes solve most cases.
Send the form mail through your real email service. In WordPress, an SMTP plugin connects the form to your actual mailbox at Google Workspace, Microsoft 365, or your host’s email service. The email then leaves from a server your domain already trusts. How do I set up business email with my own domain name? covers setting up that mailbox.
Put the visitor’s address in Reply-To, not From. Some forms try to send the message as if it came from the visitor. Your server cannot send mail for a Gmail address, and Gmail knows it. Set the From address to an address on your own domain. Set Reply-To to the visitor’s address. When you hit Reply, your answer goes to the customer.
After either change, run the test again from a Gmail address and a second provider.
Check your host
Some web hosts limit or switch off the basic mail function that older forms depend on. If the form worked for years and then stopped after a hosting change, this may be why. An SMTP connection avoids the problem. What is website hosting, and why do I pay for it every year? explains what your host does and does not handle.
Keep leads coming in while you fix it
Put your phone number and email address next to the form on the contact page. A visitor who sees the form fail can still reach you. This costs nothing and takes a few minutes.
Then test the form again every few months. A form can break without anyone noticing, because the page looks the same. The monthly SEO maintenance checklist and common website problems both list form testing as a routine check.
When to ask for help
SPF, DKIM, and DMARC records are easy to break and hard to read. A wrong edit can stop all of your business email, not only the form. If the steps above do not fix the problem, stop before changing DNS records.
If you want someone to look, book a consult. Send me your web address and the address the form should deliver to. I will tell you which cause applies.
Read next
Does my small business website need a backup?
Yes. Keep one copy on your host and a second copy somewhere you control. Here is what a backup holds, how often to make one, and five questions for your host.
Website analytics options
Ten popular website analytics tools compared, from Google Analytics and Matomo to Plausible, Hotjar, and Heap.
Common website problems
Twenty common website problems, from slow loading and broken links to spam and missing accessibility features, and how to fix each one.
Ready to talk?
A 20 minute call. No pitch. What you need and what it costs.
Or text 778-692-5555 or email hello@acornwebsites.com. We reply within two business days.