Insights · Article

Why is my website contact form not sending emails?

An empty letter tray and a desk phone on a clinic reception counter.

Short answer. In most cases the form is working and the email is not arriving. Check, in this order: whether the message was stored anywhere, whether it went to spam, whether the website sends mail through a proper mail account, whether the “from” address belongs to your own domain, and whether a forwarding rule is quietly dropping it. Fix the first one you find, then send a test and check three places: the inbox, the spam folder and a stored copy.

First, find out whether the message was collected

A form has two jobs: collect the message and send an email about it. They fail separately. If your form software keeps a copy of every entry (many WordPress setups do), open the entries list and look for your test. If the entry is there, collection works and the problem is delivery. If it is missing, the form itself is failing (a validation error, a spam check that blocks real people, or a script error).

If you have no stored copy, add one before you change anything else. A form that sends only an email has no memory: when the email fails, the inquiry is gone.

Cause 1: the website sends mail without a real mail account

By default, many websites send email directly from the web server. Mail providers often treat that as suspicious and file it under spam or refuse it. The usual fix is to send form email through a real mailbox using an SMTP plugin or a transactional email service, so the message leaves from an account the receiving server can check.

Cause 2: the “from” address is not yours

Forms often send the message “from” the visitor’s email address so you can hit reply. To a receiving mail server, that looks like someone pretending to be that person, and it can be rejected or sent to spam. Send from an address on your own domain (for example the form’s name followed by your domain), and put the visitor’s address in the reply-to field instead.

Cause 3: your domain’s email records do not match

Two records on your domain tell mail servers who may send for you (SPF) and how to prove it (DKIM). If the service sending your form email is not listed, strict servers may junk the message. Check that the sending service is named in your SPF record and that DKIM signing is on. Your host or email provider usually has a one-page guide.

Cause 4: the email arrives but you never see it

Check the spam or junk folder, a “promotions” or “other” tab, and any forwarding or filtering rule. A rule that forwards a shared address to a personal inbox can strip the original sender or drop messages without warning. If you only look at one inbox, test the others.

Cause 5: something blocks the form before it sends

A spam check, a required field that does not work on phones, or a script that fails to load can stop the form with a message the visitor sees but you never do. Test the form on a phone and on a computer, as a visitor, and watch for error messages.

The three-place test

After any change, send a real test through the live form, then check three places within a few minutes:

Checklist

The three-place test

  • Inbox. The address you expect the message to reach.
  • Spam or junk. The folder of that same inbox.
  • Stored entries. The list of entries inside the form software.

Long Square Studio.

On our own site we do this every time the form, the mail settings or the theme changes, and we name the test message so it is easy to find and delete. A test that reaches the inbox but never the stored list, or the other way round, tells you which half is broken.

What to put in place so you never lose an inquiry

  • Keep a stored copy of every entry.
  • Send form email through a real mail account from an address on your domain, with the visitor in reply-to.
  • Show the visitor a clear confirmation that says what happens next, so a failed send is noticed.
  • Re-test after every change to the form, the mail settings, the theme or the domain’s email records.
  • Check your inquiry count now and then. A drop to zero for a week is worth a test.

A few common questions

Why does my form say “message sent” but nothing arrives?

The form finished its job (collected and handed the message on) but the email was filtered, rejected or sent to a different address. Check the stored entries, then spam, then the sending setup.

Do I need an email plugin or service?

If your site sends mail directly from the web server and messages go missing, yes: sending through a real mailbox or a transactional email service is the usual fix.

How often should I test my contact form?

After any change to the form, the mail settings, the theme or your domain’s email records, and once a month otherwise.

Can I lose inquiries even when the email works?

Yes, if a spam check blocks real visitors or the form breaks on phones. Test as a visitor on both.

Is this safe to fix myself?

The checks above only read settings and send tests. Changing mail settings or DNS records can affect all your email, so ask whoever manages them if you are unsure.

Start here

Read something familiar?Tell us what’s in the way.

A defined project, an ongoing backlog, or a problem you can’t name yet: one short form covers all three. Every inquiry is read by a person. Or write to idea@longsquarestudio.ca.

What feels stuck?

Nothing is sent yet. You’ll finish a short form on the next page.