In this short article, I will show you how to quickly set up a simple contact form for your readers. Contact form is usually a part of contact page that has a prominent place on the top bar. WordPress does not offer contact form by default, but luckily, it is extremely easy to set it up.
Disclosure: Please note that some of the links in this post are affiliate links for products I use and love. This means if you click on such a link and take action (like subscribe, or make a purchase), I may receive some coffee money at no extra cost to you. This helps me creating more content free of charge to you. And, as an Amazon Associate, I earn from qualifying purchases. Thanks for your support!
Get your email address ready
First, you’ll need a dedicated email address where you will receive the message sent by the contact form. Ideally, you should use an email on your own domain like email@example.com in my case because it looks more professional than firstname.lastname@example.org.
Most registrars will offer you some kind of email hosting service. My favorite registrar Porkbun offers a decent email hosting for $2 per month with 10 GB of storage and IMAP access.
This is not bad, but I strongly recommend Migadu‘s Micro plan which I personally use for all my domains. For a small fee of $19 per year, you’ll get a great service with almost unlimited number of domains and 5 GB of storage.
Once you have your email address up and running, you can start building your contact form. There are two ways you can do it, either by using a WordPress plugin like WPForms, or by using a third-party service like Formspree. Let’s look at which approach is better.
Let’s start with WPForms which is the fastest growing form plugin you can currently find. Its free version is more than enough for a basic contact form with name, email address and message fileds we need to create.
Once you install the plugin, you can choose a contact form from the list of available templates, modify it to fit your needs and even embed it to a newly created contact page. This is by far the easiest form creation process for total beginners.
However, the form itself is only half of the whole setup. Next, you need to find a way to deliver the content of the form to your mailbox and that’s where it starts to get a bit complicated. You need to use SMTP plugin like WP Mail SMTP to ensure email delivery. You need SMTP mailer like Mailgun.com or SMTP.com account and these services are not for free. This is all too much hassle, but here’s a tutorial if you want to take this path.
After struggling with WPForms for a while, I decided to return to Formspree which I use for all my static websites. Formspree might look a bit complicated compared to WPForms, but it’s quite easy to implement. Let’s see how it works.
First, you need to create a free account which allows only 50 submission per month. If you need more later, you can always buy a more powerful plan.
Next, you need to create a new form and choose the template you want to use.
Make sure to copy your form’s endpoint as you’ll need to put it to the template.
Paste your form’s endpoint to the action attribute value as seen below.
Copy the whole HTML code, create a new page, and paste the code into Custom HTML element.
Publish the page and here’s your brand-new contact form.
And finally, you should receive a notification about new form submission to your inbox.
Even though Formspree needs a bit more manual touch, I believe it’s a great alternative for WPForms. More importantly, it works without any SMTP plugins or expensive mailer services. Any time somebody submits the form, you’ll get a notification to your inbox, and you can reply directly to the sender.