Skip to content

Email deliverability

This page is about getting form emails into inboxes rather than spam folders. It applies to any WordPress site that sends email, but forms make it obvious when it goes wrong, because a missed lead is a lost customer.

When WordPress, or OctaForms, reports an email as sent, it only means your server’s mail transport accepted the message for sending. It says nothing about whether the message reached the recipient, or whether it was filed as spam.

By default many WordPress hosts send mail straight from PHP, from an address that fails modern spam checks. Those messages often vanish silently. If your notifications “work” but never arrive, this is almost always why.

Two things solve the vast majority of deliverability problems:

  1. Send through SMTP. Install an SMTP plugin and point it at a real mail service (your host’s, or a dedicated provider). This routes mail through a server that is set up to be trusted.
  2. Authenticate your domain with SPF and DKIM. These are DNS records that prove your mail is really from your domain. Your mail provider will give you the exact records to add.

Once both are in place, your form emails are treated as legitimate mail rather than anonymous server output.

In a form’s email config, set the sender (from) to an address on your own domain, one that your SMTP and DNS setup covers. Do not send from the visitor’s address or from a domain you do not control. The editor warns you when the sender domain is not your site, because that is a common cause of spam-foldering.

If you want replies to go to the person who submitted, that is what the confirmation channel and Reply-To are for. Never fake the From address to be the visitor. See Emails.

Even with perfect setup, email is a best-effort medium. For leads you cannot afford to miss, add a webhook into a system you control, or watch the Submissions list in the admin directly. Every submission is stored regardless of whether its email arrived.