Skip to content
Adrythm

Your website

Why am I not receiving emails from my contact form?

Updated October 23, 2026

Most contact forms that go quiet are still sending. The email is filtered or refused on the way in, usually because the website sends it as if it came from the visitor's own address, or through the web server's built-in mail with no SPF or DKIM. Check spam and quarantine first, then send from your own domain.

Look for the lead in the form's own records before you chase the email

If your form tool keeps a copy of each submission, open that list first. Most website builders and form plugins have one, usually called Entries, Submissions or Form responses. If the lead is there, the form works and only the email failed, so nothing is lost and you can call the person back today.

If the list is empty too, the form itself is broken. Fill it in yourself from a phone, using a personal email address. If you see an error, or the page never says the message was sent, the problem is on the website, and whoever built it needs to fix the form before anything else on this page matters.

A form that says "sent" has not proved anything. WordPress says this about its own mail function: "A true return value does not automatically mean that the user received the email successfully. It just only means that the method used was able to process the request without any errors." The website hands the message off, and what happens next is up to the mail servers between it and you.

Search spam, junk and quarantine for the form's subject line

If the form saved the lead but you never saw the email, search every folder your mail provider can hide it in. Use the subject line the form sends, such as "New contact form submission", or the visitor's name.

  • Gmail or Google Workspace: open Spam in the left menu and search there.
  • Outlook: check the Junk Email folder.
  • Microsoft 365 business mail: some messages never reach Junk and sit in quarantine instead. Microsoft's page for users says to go to security.microsoft.com/quarantine, or Email & collaboration, then Review, then Quarantine, then the Email tab. Select the message and choose Release to deliver it to your inbox.

Quarantine does not keep messages forever. Microsoft says messages "are automatically deleted from quarantine after the date shown in the Expires column," and once expired they cannot be recovered, so check it the day you notice the silence. If the Release button is grayed out, Microsoft says that is expected for some messages: you can only request release, and an admin has to approve it. Messages quarantined as high confidence phishing are visible to admins only by default, so ask whoever manages your Microsoft account to look.

Finding the leads tells you where they went, not why. Releasing or marking them safe helps with the next one from the same sender, but a contact form sends from a different visitor every time, so the fix is in how the website sends the email.

Can I stop Microsoft 365 from quarantining the form's emails?

In quarantine, selecting a message and choosing Allow sender adds the sender to your mailbox's Safe Senders list, according to Microsoft. That works when the form always sends from one address on your own domain, which is the setup the next section describes. It does nothing useful when the form sends from each visitor's address, because the next lead comes from someone new.

Fix why the email was filtered

Send from an address on your own domain, and put the visitor in Reply-To

If your form's notification shows the visitor's own address as the sender, change it. It is a common reason form emails disappear. The message claims to be from a customer's Gmail or Yahoo address, but it was sent by your web server, which has no right to send for those domains. Google's rules for every sender include "Don't impersonate Gmail From: headers," and a form set up this way does exactly that whenever the visitor uses Gmail.

Receiving servers check the claim with DMARC. A domain's DMARC policy tells other mail servers what to do with mail that uses its name and fails the checks. Google's setup page lists the three answers: deliver it anyway, "mark the messages as spam and send it to the recipient's spam folder," or refuse it outright. When the visitor's email provider publishes one of the last two, your form's email about their inquiry is treated as a forgery.

Gravity Forms, a popular WordPress form plugin, gives the fix in its own troubleshooting guide: the sender address "must be an email address authorized by your server," and the visitor's address goes in the Reply To field instead. Most form tools have the same two fields under the form's notification or email settings.

  1. Open the form's notification settings in your website builder or form plugin.
  2. Set From to an address on your own domain, such as forms@ or website@ your business domain. It does not need to be a mailbox anyone reads.
  3. Set Reply To to the form's email field, so pressing reply still writes to the visitor.
  4. Set To to an inbox someone checks every working day, and save.

Send it through a real mail service, not the web server's built-in mail

If the From address is already on your domain and the emails still go missing, look at how the website sends them. Many sites hand mail to the hosting server's own mail program, which often sends without the authentication your domain's records describe. WordPress defaults its sender to wordpress@ your site name, and a comment in its code warns: "Some hosts will block outgoing mail from this address if it doesn't exist."

Google requires every sender to authenticate. Its sender guidelines say to "set up SPF or DKIM email authentication for your sending domains," and that messages without them "might be marked as spam or rejected with a 5.7.26 error." A shared web server sending in your name usually has neither for your domain.

Gmail's refusal code

5.7.26

is the error Google says unauthenticated mail can be rejected with.

The fix is to send the form's email through a service that signs it for your domain: your business email account over SMTP, or a transactional email service. Gravity Forms puts it this way: "Using third-party transactional email services or SMTP can offer greater reliability." WordPress has SMTP plugins for exactly this. Whichever you pick, add the SPF and DKIM records it gives you to your domain's DNS, then send yourself a test.

Why did it work for years and then stop?

Usually something on either end changed, not the form. The common ones: the business moved email to a new provider and the DNS records that let the website send were not carried over; the website moved to a new host and lost its SMTP settings; or the inbox provider tightened what it accepts from unauthenticated senders. The same DNS records decide whether your own sent mail lands in spam, which has its own page: Email going to spam after switching providers.

Keep the next lead from going missing

Test the form once a month from an outside address

If leads matter to the business, test the form on a schedule rather than waiting for a customer to mention that nobody called back. It takes two minutes.

  1. On a phone that is off the office Wi-Fi, fill in the form with a personal Gmail or Outlook address and a subject you will recognize.
  2. Check that the email reaches the inbox, not spam or quarantine, within a few minutes.
  3. Press reply and check the reply is addressed to the personal address you used, not to your own domain.
  4. Check the entry also shows in the form's submissions list, then delete the test.

Keep every lead somewhere besides one inbox

If the email is the only copy of a lead, one filtered message is a lost job. Turn on the form tool's own record of submissions if it has one, or send each lead to a second place as well, such as a CRM or a shared inbox. Then a missing email is an annoyance you catch in the weekly check, not a customer who went to a competitor.

For example

A roofing company's contact form sent each inquiry from the visitor's own address. It worked until the company moved to Microsoft 365, after which inquiries from visitors with Gmail and Yahoo addresses went to quarantine and expired unread. The owner noticed only when the form's submissions list showed a dozen leads nobody had called. Setting From to an address on the company's domain, Reply To to the visitor, and sending through the company's mail service brought the emails back the same afternoon.

Want a contact form that never loses a lead?

We build websites and custom forms you own, with every lead kept on file as well as emailed, so one filtered message never costs you the job.