In the previous article, we have covered how to create a contact form in Divi. In the article, we also mentioned the potential of the error probably happens to your form. We will show you how to fix the error in this article. As we mentioned in the previous article, you can create a contact form using the Contact Form module. The way the Contact Form module works is same as other form builder plugins. It makes use of the WordPress’ default mail delivery function to send the form submission to your email address. If the function doesn’t work, then your form is failed to send.
The Error Cause
Again. The Contact Form module of Divi Builder uses the default mail delivery function of WordPress called wp_mail. On the other hand, the function depends on the send_mail function belongs to PHP to work. The problem is, not all hosting providers enable the send_mail function on their hosting configuration. Especially on the shared hosting plans which typically have lower resource than managed WordPress hosting or VPS. If your hosting provider doesn’t enable the send_mail function, then your WordPress site won’t be able to send any form that requires mail delivery, including contact form.
How to Fix the Issue
There are at least two ways to fix the issue.
Method 1: Ask Your Hosting Provider to Enable the send_mail Function
If it’s possible, you can ask your hosting provider to enable the PHP’s send_mail function on their server configuration. This is the simplest way to fix the issue.
Method 2: Use a Custom Mail Delivery on Your WordPress Site
Another option to fix the issue is by using a custom mail delivery service on your WordPress site. As mentioned, the Contact Form module of Divi uses the wp_mail function in which it has a dependency on PHP’s send_mail function. You can use a custom mail delivery function to replace wp_mail. Divi itself recommends Mandrill and SendGrid. If you seek for a free solution, you can configure your Gmail account as a mail delivery function on your WordPress site. You can use plugins like WP Mail SMTP and Post SMTP to help you configure Gmail as a mail delivery service on your WordPress. You can read this article to learn more.
Using a custom mail delivery is a more recommended option if you create an ecommerce website using Divi and WooCommerce. You need a more reliable mail delivery function to handle all transaction emails like order details, customer invoice, order notifications, and so on.
The Bottom Line
The form not sent error usually happens on WordPress site installed on a shared hosting as a hosting plan typically has lower resource, which forces provider to use a minimal configuration possible. You can use one of the methods above to fix the issue, but for a better site performance, we recommend you use a managed WordPress hosting which is optimized for WordPress. Elegant Themes — the developer of Divi — offers Divi Hosting in case you are interested. A Divi Hosting is a WordPress hosting service optimized for Divi.