A contact form that actually reaches your inbox

Building the form is the easy part: any plugin draws one in ten minutes. The hard part, and the one that loses business without anyone noticing, is the message arriving. A form that says «thank you for getting in touch» and delivers nothing is worse than having no form at all.

The cause is nearly always the same, and it is not the plugin. Out of the box, WordPress sends without authenticating against any mailbox. Fix that first, or you will keep swapping form plugins and never touch the cause: making WordPress send e-mail properly, with SMTP.

Building the form

1 Install a forms plugin from the official repository. The most used ones have a free version that is more than enough for a contact form.
2 Ask for the minimum. Name, e-mail, message. Every extra field is somebody giving up halfway, and a compulsory phone number turns away more than it brings.
3 If you do ask for a phone number, leave it optional and do not validate it with tight rules: formats differ from country to country.
4 Put the form on a contact page of its own and link it in the menu. A contact page with an address, a phone number and a form is worth more, to somebody searching on Google, than the form on its own.

The four fields of the e-mail the form sends

This is the table that decides whether the message arrives. It is in the plugin’s notification settings, and it nearly always ships filled in wrongly.

Field What has to be there
To Your mailbox, the one you read every day. You can put two, separated by a comma, and that saves you on the day one of them fails.
From A mailbox on your own domain, such as site@asuaempresa.co.mz. Never the visitor’s address.
Reply-To Here, yes, the address the visitor typed. Then pressing «Reply» answers them, which is what you want.
Subject Something that stands out in the inbox, with the site name in it. «Contact from website» gets lost; the site name does not.
Putting the visitor’s e-mail in the «From» field is the classic mistake. Half the examples online show it that way. What happens is this: their server does not authorise ours to send on their domain’s behalf, and the message goes to spam or is refused. The full explanation is in SPF, DKIM and DMARC.

Save it to the database as well

It is the most useful advice in this article and almost nobody follows it. One day the e-mail will fail: a full mailbox, a sending limit reached, a changed password. If the submissions are also stored on the site, nothing is lost and you find the problem by looking at the list.

The most used form plugins store submissions out of the box, or have a free add-on that does. Switch it on before publishing the form, not after losing the first enquiry.

Storing contacts is storing personal data. Say on the page what you do with it and how long you keep it, and link to your privacy policy: personal data protection on your website.

Stopping the spam before it stops you

An unprotected form is found by programs within days. Besides filling your mailbox, every message sent counts towards the account’s sending allowance, and a form under attack can exhaust it.

Defence What it is
A hidden field A field invisible to people. Programs fill it in, and the message is thrown away. It bothers nobody and catches most of them.
A captcha The box that tells a person from a program. How to add one and what it costs: putting a captcha on the WordPress login.
No attachments, unless you need them A form that accepts files is a form that accepts files from anybody. If you do need them, limit the extensions and the size.
Never print the e-mail address as text An address written on the page is harvested by programs within hours. The form exists precisely to avoid that.

Testing it properly

1 Fill in the form from a private window, as a visitor would, using an address on another domain.
2 Check the message reached the inbox and not the spam folder. If it went to spam, sending works and the domain authentication is what is missing.
3 Press Reply and see who the recipient is. If it is your own mailbox, the Reply-To field is empty.
4 Check the submission was also stored in the list inside the dashboard.
5 Do it again in a month. It is the step nobody takes, and the one that catches forms that broke in silence.
If nothing arrives, not even in spam, the problem is upstream of the form. Follow why your e-mail is not sending or receiving and, above all, get SMTP sending working. And if the destination mailbox is full, nothing gets in either: your mailbox is full.

Form says it sent and nothing arrives?

Open a request

SEE ALSO

Professional e-mail

Contact us

WordPress hosting

RECOMMENDED PRODUCT

Web hosting with cPanel

Domain and SSL included, daily backups and the panel you already know. from $10.00/mo

See plans
  • 0 Users Found This Useful
Was this answer helpful?