How to Fix WordPress Email/Contact Form

After completing this tutorial, you should be able to send and receive email with the email address created in cPanel.

Here is how I got my contact form in WordPress to finally start sending emails. It took a pretty long time to figure out. I hope it helps out someone else!

As an important side note, NameCheap was my host, and I used cPanel inside of the NameCheap reseller account. This may or may not work if you are using GoDaddy or any other host, but it’s worth a shot!

Step 1: Create MX Entry

Domain Hosting Email MX Record


Go to cPanel > MX Entry (under Email) and make sure that there is an MX Entry with the following settings:

Priority: 10

If there is no MX Record already there, create one (green box area).

Also, make sure that the Email routing is set to Local Mail Exchanger (see picture below).

Step 2: Create Email in cPanel

cPanel Email Accounts

Next, go to cPanel > Email Accounts and create an email account with the following settings.
Password: randompassword

Note that you will need to enter the password into the WordPress plugin that we will install in the next step.

Step 3: Configure Namecheap Domain MX Record

This step is only necessary if you want to receive mail with your new email address.

Login to Namecheap and navigate to your domain list:

Click Manage next to and make sure that the Nameservers are set to Namecheap Basic DNS.

Next, click the Advanced DNS tab. The important parts in the picture are surrounded in a green box.

Make sure to set the Mail Settings to Custom MX, and add an MX Record where the Host = @, Value =, Priority = 10. If that looks familiar to you, it should. That’s the same MX Record you set in cPanel.

Namecheap Advanced DNS Hosting Email MX Records

Step 4: Install the WP SMTP WordPress Plugin

Easy WP SMTP WordPress Plugin

Next, install Easy WP SMTP and add the following settings:
From Email Address:
From Name: Any Name You Want
SMTP Host: localhost
Type of Encryption: TLS
SMTP Port: 587
SMTP Authentication: Yes
SMTP username:
SMTP password: randompassword (same as the password for the email account that was created in cPanel)

That’s it! Your WordPress contact forms should be working, now! As another quick side note, I did not notice the domain registrar’s settings having an effect on whether this worked or not. I hope it worked for you!