Muhammad Basim
WordPress

Contact Form Emails Not Arriving: The From Address Mistake

Muhammad Basim
Muhammad Basim
··6 min read

The most common cause of missing contact form notifications is a form configured to send as the visitor who filled it in.

It is an intuitive setting. Putting the enquirer's address in the From field means you can hit reply. Many form plugins default to it, and it worked for years.

It fails now, and the reason is worth understanding rather than working around: your web server is sending a message claiming to come from someone@gmail.com, and it is not authorised to send as Gmail. The receiving server checks, finds no authorisation, applies that domain's published policy — and increasingly that means rejection rather than filtering.

The fix is two fields. The rest of this article covers the fix and the other four causes worth checking.


The fix

From should be your own domain. Reply-To should be the visitor.

Field Wrong Right
From name The visitor's name Your site name, or the visitor's name is fine here
From address visitor@gmail.com forms@yourdomain.com
Reply-To Not set visitor@gmail.com

You still get one-click reply, because Reply-To is what a mail client uses when you press reply. The message now authenticates, because it comes from a domain you control and can sign for.

Where this lives varies by plugin — usually the notification or mail settings for each individual form, under the message headers or advanced section. Check every form on the site. Sites accumulate forms, and the newsletter signup configured two years ago is still sending as whoever signed up.

Use a From address that exists. Bounce messages go there, and a form address you never check is a form you learn nothing from when it breaks.


Why it changed

Unauthenticated mail used to be delivered with a shrug.

Since February 2024, Gmail and Yahoo have required all senders to authenticate, and the major consumer providers have been tightening enforcement of published domain policies. When a domain says "reject anything that fails", receivers increasingly do exactly that.

So the same form, unchanged, stops working. Nothing on your site broke. What changed is enforcement, which is why this problem tends to appear suddenly on a site nobody has touched. What the requirements actually say.


The other four causes

1. WordPress is not sending at all

Install an email logging plugin and submit a test. Nothing in the log means the form never generated a message — a validation failure, a broken submission handler, or a spam filter silently discarding it before the notification stage.

Check the plugin's own submission log too, if it has one. A form that records submissions but generates no email narrows the problem to the notification step immediately.

2. PHP mail is failing silently

Without an SMTP plugin, WordPress hands messages to PHP mail(), which often fails on modern hosting and reports success either way.

This is the underlying cause on a large share of sites, and the From address problem is layered on top of it. Fixing the headers on a site still using PHP mail improves nothing. Why WordPress email fails by default · Setting up SMTP properly.

3. The notification address is wrong

Check what address the form sends to, not just what it sends as. Common findings:

  • An address belonging to someone who left
  • The site's default admin address, which nobody monitors
  • A typo
  • A distribution list that quietly stopped forwarding

Send a test to yourself as the first check, because it separates "the form does not send" from "the form sends somewhere I do not read".

4. It is arriving in spam

Form notifications are unusually spam-like by nature. They contain text a stranger wrote, often with links, arriving automatically at a predictable interval.

Check spam before rebuilding anything. Then, if that is where they are, the fixes are the ordinary ones — authenticate properly, send from a domain with reputation, and stop sending as other people's domains.


Making the notification useful

Two settings that are not about delivery and are worth changing while you are in there.

Put something identifying in the subject. New submission from Contact Form on a site with six forms tells you nothing. Contact form — [subject field] is filterable and searchable.

Include the submitted fields in the body, not just a link back to the dashboard. A notification that requires logging in to read is a notification that gets read late.


If forms matter to the business

Three things worth having.

Store submissions in the database, using a plugin that records them independently of the email. Email is a notification, not a record — when delivery fails you still have the enquiry, and that alone justifies the plugin.

Send form mail through the same authenticated service as the rest of the site, rather than letting the form plugin use its own SMTP settings. Two sending paths mean two authentication states and intermittent failures.

Test quarterly. Submit a form, confirm arrival, and check it did not land in spam. This failure is silent by construction — a form that stops notifying looks exactly like a form nobody has filled in.


Frequently asked questions

Why are my contact form emails not arriving?
Most often the form is configured to send as the visitor's email address, which means your server sends mail claiming to be from a domain it is not authorised to send for. That fails authentication and is increasingly rejected. Put your own domain in From and the visitor's address in Reply-To.

Can I use the visitor's email as the From address?
No, and it is the default in several plugins. Your server is not authorised to send as gmail.com or any other provider, so the message fails that domain's policy checks. Reply-To gives you the same one-click reply without the authentication failure.

Why did my contact form stop working when nothing changed?
Enforcement changed rather than your site. Gmail and Yahoo required all senders to authenticate from February 2024, and providers have been enforcing published domain policies more strictly since. A form that sends as the visitor was always unauthenticated; it is now being acted on.

Do I need an SMTP plugin for contact forms?
Effectively yes. Without one WordPress uses PHP mail(), which fails frequently on modern hosting and reports success regardless. Fixing the From address on a site still using PHP mail does not solve delivery on its own.

Where do I set Reply-To in a contact form plugin?
In the notification or mail settings for each individual form, usually under message headers or an advanced section. Check every form on the site rather than only the main contact form — older forms are usually the misconfigured ones.

Should I store form submissions in the database?
Yes if enquiries matter. Email is a notification, not a record, and a stored submission survives the notification failing. It also lets you confirm whether a missing enquiry was never submitted or was submitted and never notified.

The short version

  1. Open each form's notification settingsOpen each form's notification settings
  2. Set the From addressSet the From address to a real mailbox on your own domain.
  3. Set Reply-ToSet Reply-To to the visitor's email field.
  4. Check the recipient addressCheck the recipient address is one you actually monitor.
  5. Install an SMTP pluginInstall an SMTP plugin and route form mail through the same authenticated service as the rest of the site.
  6. Install an email logging pluginInstall an email logging plugin
  7. Submit a testSubmit a test and confirm it appears in the log and arrives.
  8. Check the spam folderCheck the spam folder before changing anything else.
  9. Add an identifying subject lineAdd an identifying subject line and include the submitted fields in the body.
  10. Enable database storageEnable database storage of submissions.
  11. Retest quarterlyRetest quarterly

The WordPress Email Delivery Checklist

Stop your WordPress emails from failing silently. Get the complete setup guide.

Muhammad Basim

About the Author

Muhammad Basim

Digital Marketing Practitioner & Author

Muhammad Basim has worked in digital marketing since 2013, focused on email deliverability and AI-assisted content production. He is the author of the Email Deliverability Playbook and the Email Copywriting Playbook, and has run 100+ email campaigns for ecommerce brands, coaches, and B2B senders. He writes about email, SEO, WordPress, and AI — with a bias toward what can be tested over what sounds good.

Related Articles

Newsletter

Free: The 60-Minute
Email Authentication Fix

A no-fluff checklist from the Deliverability Playbook. In one hour: set up SPF, DKIM & DMARC correctly, check your domain against blocklists, and pass Gmail & Yahoo's 2026 sender requirements.

No spam — that would be ironic. Unsubscribe anytime.