Getting Server Errors or Forms Not Sending Emails? Here’s How to fix it.
Sound like a familiar trauma? Well, you’re in good company, this issue is commonly raised by our users. This article will explain how to solve WordPress not sending emails through your form and “server error” issues.
Well, there is a short answer and a long answer.
First, run a test on your WordPress site and see if it can even send emails.
You can do this by requesting a password reset from your site or by using a plugin like this one:
https://wordpress.org/plugins/check-email/. If your emails are not being sent correctly, then read on! (Otherwise, contact our support.)
Why does this Server Error occur?
Elementor uses WordPress’ wp_mail function to send emails. Your web host takes the sent email, processes it, and sends it. This is where 90% of the issues happen.
Sometimes, hosting servers disable the PHP function used for sending emails. They basically block your emails.
This is done usually to make sure you don’t send spam through your site (your host doesn’t want you to use its server as a spam server).
Technically speaking - the wp_mail function uses the PHP send_mail function by default. But if it is disabled on that server, then email sending fails. To get around this, either contact your hosting service and request them to enable it, or use an SMTP server instead.
What the heck is SMTP anyhow?
SMTP stands for "Simple Mail Transfer Protocol". SMTP is an email server that routes your email in forms into the inbox of your listed customers. It is an external email server (e.g. Gmail can be used as an SMTP server) that helps ensure your emails get delivered faster and helps prevent your email from ending up in users' spam folders.
Try using any popular SMTP plugin ( https://wordpress.org/plugins/search/SMTP/).
If that doesn’t work…
More Troubleshooting Tips for Server Errors
Besides contacting your host provider, here are several steps you can try to solve this issue:
- The form's From Email address usually needs to be from the same domain as your website. So if your site is example.com, then you would need to use a From Email address of [email protected] or [email protected], etc. You can use the Reply-To field to select the visitor's email address for replying to the user's request.
- Install Elementor Contact Form DB to check if Elementor is sending emails or not. Although this is a 3rd party plugin, it should work well for storing the form submissions to the database. After installation and activation of the plugin, send a form and go to the plugin’s dashboard to see if the form registered the submissions inside the database.
- Use another email address (it’s possible that your email is being registered as spam). To avoid being marked as spam try changing the length (shorter or longer) of your email subject line.
- If you are using any third-party integrations, try disabling them. For example, MailChimp or ActiveCampaign. If that did the trick, then read more in our integrations guide. Basically, you have to check the field mapping within your autoresponder account and within the Form widget. Make sure that you do not have the required fields set to "none" within the Form Widget. Also make sure also that you did not add an "address" field or a "birthday" field within your field mapping settings in your MailChimp account
- If the page refreshes after submitting a form, generally this is due to a plugin or a theme code conflict. In this case, deactivate all your plugins besides Elementor and Elementor Pro, and check if the emails are sent properly. If this didn’t work, switch to a default theme of WordPress and check if it solves the issue.
- Make sure that the form field’s ID (in the field’s Advanced tab) is populated; without a valid field ID, the form field value will not be seen in the email message sent to the receiver of the submissions if the “[all-fields]” shortcode is used.
- Make sure you use the correct shortcode as shown in the Advanced tab for each field within your email message box.
If the issue persists:
- Please send us your system info. You can find it under Elementor > System Info in your WP Dashboard.
- Send us also the web server and PHP error logs. You can find them in your hosting panel or you ask your hosting company to provide them for you.
Learn more about the Form Widget and its options here.