Many users contact us asking about the issues with the Contact Form Divi Module not sending emails. As the issue with the Divi Builder, this is one of the most frequent questions on the new Divi users. I personally had to deal with this issue last week and I’ll explain to you how to solve it.
Commonly this issue is related with the mailing PHP configuration in your hosting, which in most cases cause troubles to send and receive emails.
What is SMTP?
The easiest way to send emails with PHP is using the mail() function. However, this function has disadvantages such as the impossibility of sending mass emails and the lack of authentication on the server, which ends up sending all our emails to the spam folder.
SMTP logs into a real account on a mail server and sends the mail through SMTP to another mail server. If the mail server is configured correctly, your emails will be sent from a real account on a mail server and will not be marked as spam.
Why doesn’t WordPress send emails?
The emails in WordPress are sent via PHP thought the function wp_mail, but some hosting servers are not correctly configured to use this function.
Some email providers in order to reduce the spam, apply filters to check the original location of your email and if its different from the location that your email claims to be originating from, are automatically blocked even before reaching the spam folder.
This is why if all the steps that I’ll explain to fix the issue with the Divi forms fail, I recommend you to use the SMTP method to send emails from WordPress.
Fix Divi Contact Form
When the Divi contact form is not working, the most common failure in that aspect is that the emails are not sent.
If you are having issues sending or receiving emails with the Divi contact form, there could be a couple reasons that we should take in mind.
So if you build a web with a contact form, first do a test to make sure it works. If it does not work, do not miss these tips.
1. Test your server email
The first thing I strongly recommend you are running a test in your sit with a single plugin called Check Email.
Just install the plugin and then go to the Check Email inside the Tools menu in your WordPress dashboard, then enter the email address to send and click on the Send test email button.
If you see the green notification this means that WordPress can send emails and there is no issue in your with the function wp_email.
Nevertheless, this doesn’t mean that the email was sent from your server, that’s why you should check your email client and verify see if you received an email with subject “Test email from http://yourdomain.com.”
2. Check your spam folder
Before saying it is not working make sure you check your spam or junk folder. Usually, there are no issues with Gmail accounts, but if you are sending emails to Hotmail they are probably there.
3. Create a valid email in your hosting
The email is sent to you from the email defined in the options panel if the email address defined is not from the same domain, for example, [email protected], it could be blocked by some email providers
Try to create a valid [email protected] email address within your hosting and insert in your site options.
4. Email Blacklist
If you already check the other steps and you’re sure that your emails are being sent by your server, there is the possibility that your @yourdomain.com has been blocked by the email provider with which you are making the test.
Personally been there, and waste hours and hours to figure it out. Finally, I came to the conclusion that my domain was blocked by Hotmail during a spam email attack.
If this is your case I strongly recommend you to read this article where you’ll see the step by step process to remove your domain from the Hotmail blacklist.
5. Easy WP SMTP
If you’re sure you haven’t received the email from your server, follow these instructions that should work with most email providers, including the email you’ve created with your host inside of cPanel.
Go to the WordPress admin panel and install the Easy WP SMTP plugin, activate it and fill all the fields in the configuration.
- From Email Address – This email address will be used in the “From” field.
- From Name – This text will be used in the “FROM” field
- SMTP Host – Your mail server
- Type of Encryption – For most servers SSL is the recommended option
- SMTP Port – The port to your mail server
- SMTP Authentication – This options should always be checked “Yes”
- SMTP username – The username to login to your mail server
- SMTP Password – The password to login to your mail server
If your hosting provides SSL encryption, choose that option. After placing all the details, save the changes.
Below this configuration you will see the option “Test configuration”, so place the mail where you will send the test. Write the subject and click on “Send test mail”.
Check your mail and check that everything is in order.
More things to know:
- The “Name” field does not support spaces or special characters. If necessary, use the script, for example: “Name_name” to Gmail.
- If it still does not work, create an email [email protected] in your hosting.
- The problem may be in the mail configuration of your server, read this help document from Google.
5. Post SMTP Mailer/Email Log
If you’re a bit lost with the previous step because I’ve been very limited with the description you can follow the step by step instructions to set up a third-party SMTP provider with the help of a plugin called Post SMTP Mailer/Email Log.
Install the plugin, go to the Post SMTP tab in the dashboard menu and then press the button called Start the Wizard.
Include the email address and name you want to send mail.
In our example, I’ve included the Gmail SMTP server, but you have to take in mind that some hostings won’t allow you to use third-party SMTP servers.
Now you have to set the mode of the connection with the mail server. Please to select the Gmail API.
Click next and then open the Google Developers Console Gmail Wizard, create a Client ID for web application with the values displayed below, and copy the generated Client ID and Client Secret here.
Include the email address and name you want to send mail.
Now you’ll receive the client ID, but we still need to get the client secret key.
Follow the steps and then you’ll get the API login details.
Then you should go back to the plugin page and complete the Client ID and Client Secret with the details provided by the API.
You will then need to “Grant permission with Google” and click to allow your Gmail account access.
You can then send a test email to verify everything is working correctly.