You install the form, test it, and nothing arrives — or you find it days later in a spam folder. For a marketer there is no worse situation: the traffic came, the form was submitted, and only the lead disappeared, without leaving any trace that it did.
This is not a flaw in the form plugin. WordPress dutifully sends the mail. The problem is how it goes out.
The default has nothing proving it came from you
Left unconfigured, WordPress hands the message to the web server’s own mail function. Your domain is written in the from address, but from the receiving end there is no way to check that claim — much as anyone can write another company’s name on an envelope.
Mail providers verify senders to stop spam and impersonation, and a message with nothing to verify gets filed away or quietly refused. That is precisely why default sending fails so often, and it has nothing to do with the quality of your site or your content.
Step one — route through an authenticated service
The first move is to hand sending over to a service that does mail for a living. Add an SMTP plugin, connect the account, and everything WordPress sends — enquiry notifications, auto-replies, password resets — leaves that way.
For a marketer the real prize is the log. When an enquiry does not appear, you need to know whether it was never sent or sent and not received, because that decides whether you fix the form or the domain records. Without logs, that call is guesswork.
Step two — what each of the three records does
With the path sorted, the domain side is next: three values in DNS, each answering a different question.
SPF is the guest list of servers permitted to send mail for your domain. Anything arriving from a sender not on the list is treated with suspicion.
DKIM puts a seal on the message. The receiving side checks that seal against public information published by your domain, confirming both that you really sent it and that nobody altered it in transit.
DMARC is where you state the policy for messages that fail those checks. In effect you are saying “please do not accept mail like that”, which also stops messages impersonating your domain from reaching your customers. It protects the brand as much as the deliverability.
Your sending service generates all three values; your job is to paste them into the domain’s DNS panel. Deliverability stabilises when all three are in place, not one or two.
Step three — fix the form’s from address
One failure mode survives even a perfect setup: a form configured to send as the address the visitor typed. When your server sends mail claiming to be a customer’s own mailbox, the receiving side reads it as impersonation — it trips exactly the checks you have just put in place.
The correct arrangement is simple. Send from an address on your own domain and put the visitor’s address in reply-to. Hitting reply still goes straight to the customer, so nothing about daily handling changes. Form plugins keep those two as separate fields; it takes one visit to check.
More on mail and server configuration lives in the Servers & infrastructure archive, and if you would rather hand the whole sending path over as part of wider infrastructure work, it is included in our optimization program.
Next part
Once mail starts arriving, your customers start receiving mail from you too. The next part is the auto-reply — the first message anyone gets from your company, and therefore brand copy rather than a receipt.