Site & Stack Start a project
Start a project
All articles

Website contact form not working? What to check first

Website contact form not working? Run one proper test, check the inbox side, find what changed, recover missed requests and stop relying on one inbox.

Send one test request the right way

When a website contact form is not working, first find out which part is broken. Is it the form itself, or the email that should carry each request to you? One careful test answers that in about 15 minutes.

Test it the way a customer would, not from the computer you use to edit the site. Write down exactly what happens:

  • Use your phone on mobile data, with Wi-Fi off.
  • Fill in the form as a customer would, with a personal email address, like a Gmail account, and a phone number you can check.
  • Don’t enter the business inbox the form sends to as the customer’s address. Some forms send with the customer’s address as the sender, and Wix warns that some email providers treat messages with the same sender and recipient as spam.
  • Type a unique word in the message, like “TEST-OCT4,” so you can search for it later.
  • Note the time and what the screen says after you press send. Take a screenshot.
  • Wait 15 minutes. Then search every inbox that should get it for your unique word, spam and archive folders included.
  • If your form sends the customer a copy, check the personal inbox too.

Reference: Wix Help Center: Choosing who gets notified about form submissions (opens in a new tab)

Why your contact form isn’t working: what the test shows

The thank-you message is the part that fools owners. It only means the website finished its side. WordPress’s developer guide says this plainly about its own email function: a success result means the email was handed off without errors, not that anyone received it.

Most platforms work the same way. The website passes the email to a mail server, shows the thank-you message, and never learns what happened next. So match your result to one of these:

  • The button does nothing, keeps spinning, or shows an error. The problem is on the website. It may be a clash after an update, a failing spam check or a field phones can’t fill in. An error can also mean the site tried to send the email and couldn’t, for example after an email password change.
  • It says thank you, but nothing arrives anywhere. The form ran, but the email never got through, or was never sent.
  • The email lands in spam or junk. It is getting through, but your inbox doesn’t trust it. That usually comes down to how the email is sent and which “From” address it uses.
  • It reaches a Gmail address but not your business address, or the other way round. One provider is filtering or rejecting it.
  • Some requests arrive and some don’t. Look at what the missing ones share: large photo attachments, certain words, or a filter rule.
  • It worked until a certain date. Something changed around then. Jump to the section on what changed.

Reference: WordPress Developer Resources: wp_mail() (opens in a new tab)

Inbox checks anyone can do

If the form says thank you, start on the receiving end. The checks in the list below need no technical skill, and they often find the problem.

If your business email runs on Google Workspace or Microsoft 365, your email admin can also check whether the email arrived. Google’s Email Log Search shows whether a message was delivered or marked as spam, in full for the past 30 days. Microsoft’s message trace shows whether one was received, rejected, deferred or delivered, for up to 90 days (both when we checked in October 2026). If the log shows nothing from the form, the email never reached your provider. The website may not have sent it, it may have gone to a different address, or it may have been stopped on the way, for example at your web host. On WordPress, a free plugin such as Check & Log Email can send a test email from the site and log every email the site tries to send (when we checked in October 2026). Have whoever manages the site install it, then send your test request again. If it isn’t in the log, the form never sent it.

  • Spam, junk and archive folders. If you find requests there, mark them “not spam” and add the sender address to your contacts. When we checked in October 2026, Squarespace sent form emails from [email protected], and Wix used addresses like [email protected].
  • Filters and rules. Look for a rule that archives, deletes or forwards mail with words like “form,” “website” or your business name. Someone may have set it up to tidy the inbox.
  • The address the form sends to. Open the form’s settings and read the recipient, letter by letter. It is often a past employee, the old office manager, the web designer, or a typo. Wix sends notices to the site owner by default, who may be whoever set up the account.
  • A full mailbox. Google says that once you go over your storage limit, your ability to send and receive email in Gmail can be affected.

References: Squarespace Help Center: Troubleshooting form issues (opens in a new tab) · Wix Help Center: Choosing who gets notified about form submissions (opens in a new tab) · Google One Help: How your Google storage works (opens in a new tab) · Google Workspace Admin Help: Find messages with Email Log Search (opens in a new tab) · Microsoft Learn: Message trace in the new EAC in Exchange Online (opens in a new tab) · WordPress.org Plugins: Check & Log Email (opens in a new tab)

Ask what changed, and when

Forms rarely break on their own. Something changed, often somewhere nobody thinks of as “the website.” Find the date of the last real request, then look for anything that changed around that day.

If the whole site is down or showing errors, not just the form, start with what to check when a WordPress site breaks instead. Otherwise, write down each of these that happened, with its date:

  • A website update. A plugin, theme or platform update can stop the button working or stop the email going out.
  • A move to new hosting, or a rebuilt site. The new server may not be allowed to send email, or the form settings didn’t come across.
  • Business email moved, for example to Google Workspace or Microsoft 365. Your hosting may still think it handles your email. On cPanel hosting, if the Email Routing setting is on Local Mail Exchanger, the server delivers form emails to a mailbox on the hosting account, not your real inbox. The domain settings that tell other servers who may send email for you may also no longer include the website.
  • A changed email password. If the form signs in to your email account to send, a new password breaks it without any warning.
  • Your email provider changed its rules. Google says that starting January 2025, Google Workspace accounts no longer support apps that sign in with only a username and password. Microsoft has announced plans to retire the same kind of sign-in for sending through Exchange Online. A form set up that way years ago can stop.
  • A new web address. reCAPTCHA, Google’s spam check, works only on the web addresses listed for its key. After a move to a new domain, the check can fail until the new one is added.
  • A connected app changed. If your Squarespace form saves to a Google Drive sheet that stopped filling in after October 23, 2024, this may be why. After changes at Google, Squarespace asked owners to reconnect those forms by that date, or Drive would stop receiving submissions.
  • Someone left. The form may still email a person who no longer works for you, and that mailbox may be closed.

References: Google Account Help: Less secure apps & your Google Account (opens in a new tab) · Microsoft Learn: Deprecation of Basic authentication in Exchange Online (opens in a new tab) · cPanel Docs: Email Routing (opens in a new tab) · Google Cloud: Create reCAPTCHA keys for websites (opens in a new tab) · Squarespace Help Center: Reconnecting forms to Google Drive (opens in a new tab)

Find the requests you already missed

Before anyone fixes the form, go looking for the requests it lost. Each one is a customer who thinks you ignored them, and some may still need the work done.

Reply to every request you find, today. Keep it short: “Our website form had a problem, and we only just received your request. Are you still looking for help?” Hearing back late beats never hearing back.

If there is no saved copy anywhere and the email never arrived, those requests are gone. That is the best argument for the fixes in the next two sections. Here is where to look:

  • Saved copies on the website. Many form tools keep each entry in the site’s dashboard, separate from the email. Wix stores every submission in a table under Forms & Submissions (when we checked in October 2026).
  • Squarespace keeps submissions wherever the form’s storage points: the Contacts panel, a Google Drive sheet, Mailchimp, Zapier or an email address. Even if the form only sends email, check Contacts. When we checked in October 2026, forms with a required email field also saved each submission there, under Lists & Segments, then Form Submitters. If neither applies, the inbox is the only copy.
  • On WordPress, it depends on the form plugin. Contact Form 7, a common one, doesn’t store messages itself; a companion plugin called Flamingo saves them in the site.
  • Spam, archive and any old recipient’s mailbox, for the weeks since the last real request.
  • Customers who called and said, “I filled in your form.” The date of that call is a clue too.

References: Wix Help Center: Viewing and managing a submissions table (opens in a new tab) · Squarespace Help Center: Set up form and newsletter storage (opens in a new tab) · Squarespace Help Center: Troubleshooting form issues (opens in a new tab) · WordPress.org Plugins: Flamingo (opens in a new tab)

The lasting fix: send form emails the way inboxes expect

Many websites send email straight from the web server, made to look as if it came from your business. Inbox providers are wary of that. WordPress, for example, sends from a “wordpress@” address on your domain unless set up otherwise. Its own code notes that some hosts block mail from that address if it doesn’t exist.

Gmail sets rules for everyone who sends to personal Gmail addresses. Since February 1, 2024, Google has required all of those senders to set up SPF or DKIM for their sending domain. It also tells senders not to pose as a Gmail address in the “From” line. A form that puts the customer’s Gmail address there does exactly that. Mail that misses these guidelines may not be delivered, or may land in spam.

In plain words, SPF is a public list of the services allowed to send email for your domain. DKIM is a digital signature that shows the email really came from you and wasn’t changed on the way. Both live in your domain’s settings, called DNS. DMARC is a third record that tells inboxes what to do with mail that fails those checks. If your domain has a strict one, form emails that aren’t set up this way can be turned away.

On Wix or Squarespace, the builder sends the email, so stick to the recipient, safe-sender and storage checks above. On WordPress or a custom site, the usual lasting fix has four parts:

  • Send form emails through a proper email sending service or your business email account, with a sign-in method your provider still supports. On WordPress, this is usually an SMTP plugin, which makes the site sign in to that service to send each email.
  • Send from an address on your own domain, like [email protected]. Put the customer’s email in the “Reply-To” line, not “From,” so you can still press reply.
  • Add the service to your domain’s SPF record, and add the DKIM record it gives you, in your domain’s DNS. A domain can have only one SPF record, so the new service goes into the existing record, not a second one. A mistake here can stop your everyday email, so leave it to whoever manages your website or email.
  • Test again with a Gmail address and an Outlook address, and check that both land in the inbox, not spam.

References: WordPress Developer Resources: wp_mail() (opens in a new tab) · Gmail Help: Email sender guidelines (opens in a new tab) · RFC Editor: RFC 7208, Sender Policy Framework (SPF) (opens in a new tab) · RFC Editor: RFC 7489, Domain-based Message Authentication, Reporting, and Conformance (DMARC) (opens in a new tab)

Make sure no request depends on one inbox

Fixing delivery once doesn’t stop the next break, because updates, password changes and staff changes keep happening. Treat email as the alert, not the only record. Then a failed email costs you a delay, not a customer.

What that looks like depends on the trade. For example, a 4-van electrical contractor might save each request, photos included, straight into the job list the dispatcher already works from. A cafĂ© taking catering orders online could have every order land in one order list with the date and headcount, with email as the heads-up. A property manager could send tenants’ repair requests into one list with a status on each, as in maintenance requests that don’t get lost.

If people struggle to finish the form on a phone, see what to put on a quote request form. Form tests belong in routine upkeep too, as what website maintenance includes explains. Whatever your trade, aim for these:

  • Every request saved in a list first: the form tool’s own entries, a shared spreadsheet, or the system your team schedules from.
  • The alert sent to two people or a shared inbox, so one day off doesn’t stall requests.
  • A copy emailed to the customer. If it never arrives, they know to call.
  • Your phone number beside the form, for jobs that can’t wait.
  • A test request every month, and again after any update, hosting move, domain change, email change or password change.
  • An eye on the count. If you usually get a dozen requests a week and hear nothing for five days, check the form before blaming a slow week.

Who to call: your host, your email admin or a developer

The checks above are safe for anyone. Hand it over if the fix means changing DNS settings or editing site code you didn’t set up. Do the same if the form takes deposits or payments, or if it has broken before: a repeat usually means the cause was patched, not found.

Send your notes: the test time, the screenshot, what changed and the date of the last real request. Give your helper their own login, not your password. Who to call depends on what your test showed:

  • Your hosting company, if the site moved recently or the email never reached your email provider. Ask whether the server may send email and whether any was blocked. Also ask whether its address is on a spam blocklist and, if your email is hosted elsewhere, whether email routing for your domain is set to remote.
  • Your email admin or provider, if the email left the website but never reached the inbox. They can run the log search and check filters across the account.
  • Wix or Squarespace support, if your site is on a builder and the recipient, spam and storage checks didn’t solve it.
  • A web developer, if the button errors or a plugin clashes. Also for setting up a proper sending service and DNS records, or saving requests into a list or your own system.

How we fix a form that stopped sending

If your checks turned up a wrong address, a filter or a full mailbox, you’ve already fixed it and don’t need us. Our team looks after websites and business software, including sites we didn’t build. We review the site first: how it’s built, who has access and what shape it’s in. Then we find why requests stopped and fix the cause, not just the symptom.

A form that stays broken after those checks is usually a focused fix: $750–$3,000, over 1–⁠2 weeks. That normally means finding the cause, sending through a proper mail service with the right domain records, and saving every request somewhere besides one inbox, then testing it from a phone. If you’d rather requests land straight in your scheduling or customer system, we build that too.

A monthly plan, priced in your quote, covers fixes, small changes and updates checked before they go live, plus a short monthly note of what we did. Every project we launch includes 30 days of fixes. We don’t promise 24/7 support: calls run Monday to Friday, 7 am to noon Pacific, and reply times are written into your plan.

These are our prices as of October 4, 2026. The first call is free, and you get a fixed price in writing within 48 hours of it. See how our website and software support works.

Want someone to look after it for you?

See management & support
Back to all articles

Questions owners ask.

Why are my contact form emails going to spam?

Usually because your inbox can’t confirm the email really came from your business. Forms often send straight from the web server, sometimes with the customer’s address in the “From” line, which looks forged. For now, mark one as “not spam” and add the sender to your contacts. The lasting fix is sending through a proper mail service, from an address on your own domain, with SPF and DKIM records set up.

Why is my Wix or Squarespace contact form not sending email?

These builders send the email for you, so start with your own settings. On Wix, notices go to the site owner by default through an automation; check its recipients, and look in Forms & Submissions for saved entries. On Squarespace, check the form’s storage settings, the Form Submitters list in Contacts and your spam folder, and add [email protected] to your safe senders. If entries are saved but emails still don’t arrive, contact the builder’s support.

Do I need an SMTP plugin for my WordPress contact form?

Often, yes. By default, WordPress hands email to the web server, and some hosts block that mail while some inboxes distrust it. An SMTP plugin makes WordPress sign in to a real email service to send instead. It fixes delivery, not storage, so also make sure entries are saved in the site. Contact Form 7, for example, needs a companion plugin like Flamingo for that.

How often should I test my website contact form?

Once a month, and again after any website update, hosting move, domain or email change, or email password change. Use a personal address as the customer and a unique word you can search for. Test too whenever requests suddenly go quiet. A care plan can include form tests; what website maintenance costs explains what a plan should cover.

  • Read this ifYou have software built for your business, or are about to, and wonder who looks after it once it’s live.

    Who handles software maintenance and support after launch?

    Software maintenance and support in plain words: who fixes bugs after launch, what a support plan should put in writing, and what to ask before you sign.

    Care and support · 6 min read

  • Read this ifYou have a website that mostly works and want to know what’s worth fixing before you pay for a new one.

    Website improvements checklist: what to fix before a redesign

    A website improvements checklist for small service businesses: what to fix first, examples by trade, and how to tell when a redesign is the better spend.

    Website care · 12 min read