Skip to content

Contact Form Emails Not Arriving: 7 Causes and a Lasting Fix

The visitor submits the form, sees 'thank you', but nothing reaches your inbox. The cause is usually email sent without authentication. Step-by-step diagnosis and a lasting fix with SMTP.

Kodyva5 min readWebsite Maintenance and Security
Contact Form Emails Not Arriving: 7 Causes and a Lasting Fix

If your contact form emails aren't arriving, the cause is usually not the form itself but how the email is sent. Many sites send form messages with the server's basic mail function, from an unauthenticated address. Services like Gmail and Outlook push those emails into spam or refuse them entirely. The lasting fix is to have the form send through a real email account over SMTP, and to make sure your domain's SPF, DKIM and DMARC records are correct.

The problem is sneaky because everything looks normal on the visitor's side. The form says 'your message has been sent'. You assume enquiries are just slow. It surfaces weeks later when a customer says 'I wrote to you'.

A two-minute test first

Fill in the form yourself. Use a Gmail address as the sender and write the date and time as the message. Then check:

  • Did it land in the inbox, go to spam, or not arrive at all?
  • If there are several recipient addresses, did all of them get it, or only one?
  • Send the form again from a phone, on a different network.

If it's in spam, the problem is most likely authentication. If it never arrived, work through the list below in order.

Seven common causes

1. The recipient address is wrong or outdated. The form settings may still hold the address of someone who left years ago, a typo, or an inbox no one uses. Simple, but frequent.

2. The sender address doesn't match your domain. If the form uses the visitor's Gmail address as the 'from' address, Gmail treats an email sent in its name from another server as forged. The sender should always be on your domain (like form@yourdomain.com); the visitor's address belongs in the Reply-To field.

3. SPF, DKIM and DMARC records are missing. These three DNS records prove which servers may send email for your domain and that the message wasn't altered on the way. Since 2024 Gmail and Yahoo have been strict with email that lacks at least SPF or DKIM authentication. We explain these records in detail in emails going to spam.

4. The server's mail function is disabled or limited. Some hosts switch off PHP's mail() function or cap how many emails can be sent per hour. On a VPS or cloud server, there may be no mail-sending service installed at all.

5. The server's IP address is blacklisted. On shared hosting, if another site on the same server sent spam, your emails are rejected too because they leave from the same IP.

6. Your business email has a filter. Microsoft 365 and Google Workspace can quarantine messages they find suspicious without even putting them in spam. Check the quarantine list in the admin console.

7. A form plugin or site update broke a setting. We often see notification settings reset after a plugin update. A spam protection setting may also be blocking real messages.

The lasting fix: send the form over SMTP

SMTP means the form connects to a real email account with a username and password and sends through it, instead of using a generic server function. Because the email leaves from your email provider's server, it looks trustworthy to the recipient.

On WordPress you do this with a plugin like WP Mail SMTP or FluentSMTP. Roughly:

  • Create a separate email account for the form, for example form@yourdomain.com. Don't give the form your personal inbox password.
  • Enter your provider's SMTP server address, port (usually 587) and the account details in the plugin. For Google Workspace and Microsoft 365, the plugins have their own connection wizards.
  • Make this account the sender. Put the visitor's email in Reply-To so that hitting 'Reply' goes straight to them.
  • Send a test with the plugin's test email feature.

If you use Contact Form 7, the plugin already shows a yellow warning on the Mail tab when the sender address isn't on your domain. Take that warning seriously.

On custom-coded sites the logic is the same: the form should send through an SMTP account or a transactional email service. Relying on the server's own sendmail setup is an arrangement that may work today and break tomorrow.

Don't lose a message: keep records on the site too

However well email is configured, it can fail one day. That's why storing form messages on the site as well as emailing them is the safest route. On WordPress, the Flamingo plugin does this for Contact Form 7, and many form plugins have a 'save entries' option.

On Kodyva's own site, form enquiries also sit in a separate list in the admin panel, and each one gets a tracking code. Even if an email is delayed, the enquiry isn't lost. We cover how to design a form that brings in enquiries in our contact form design article.

Checks after the fix

  • Send an email from the form to a tool like mail-tester.com. It scores you out of 10 and names missing records.
  • Test the form separately with Gmail, Outlook and your business address.
  • Fill in the form yourself once a month. It's the cheapest and most useful item on any maintenance list.

Forms are where your site earns money. If you don't have time to run these checks regularly, our maintenance and support plan exists for exactly this kind of routine work. If you have a site whose form doesn't work, attracts spam or brings in nothing, write to us.

#iletişim formu #smtp #e-posta #sorun giderme

Frequently Asked Questions

Why do form messages land in spam?

Usually because the email is sent in your domain's name without authentication. Using a sender address on your domain, sending via SMTP and adding SPF and DKIM records largely solves it.

Can I use the visitor's email address as the sender?

Don't. Gmail and Outlook see it as spoofing. The sender should be on your domain, with the visitor's address in Reply-To.

Can I recover lost form messages?

If form entries are saved on the site, yes, you can see them in the admin panel. If not, and the email never arrived, the messages are most likely gone. That's why we recommend storing entries on the site.

Can I set up SMTP with a free Gmail account?

Technically yes, but it isn't recommended; the sender won't match your domain and daily limits are low. A business email account or an email-sending service is healthier.

Blog posts are for general information only and are not a substitute for legal, financial or technical advice.

Want a quote for your project?

Browse our services or request a quote directly.

View Services