This article will explain how to solve WordPress Forms not sending emails through your form and “server error” issues.
How to fix this issue?
Perform Pre-test for a basic form
First, run a test on your WordPress site and see if it can even send emails.
- Please create a basic form and inspect whether you can receive a mail or not.
- If you can receive a mail via the basic form, please recheck your Field ID and Form ID issue in your main form.
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.
Identity of the Form: applying only one Form ID value is a basic mandatory in order for your Form to work normally.
Enter the same Form ID for all fields in a form.
How to name your Form ID: Be aware that you can use only Latin characters for this name. Numbers and underscores are also acceptable but do not leave spaces. If you want to use multiple words to name the field, divide them with an underscore.
E.g. order_form (use an underscore instead of a dash/hyphen)
Identity of the Field: has to be unique in a Form.
Duplicated Field IDs will make your Form not work properly.
How to name your Field ID: Be aware that you can use only Latin characters for this name. Numbers and underscores are also acceptable but do not leave spaces. If you want to use multiple words to name the field, divide them with an underscore.
E.g. your_field_id (use an underscore instead of a dash)
Furthermore, please do not enter Field ID = product.
On the other hand, to confirm email deliverability, you can use any SMTP plugin and select a different SMTP server like SendGrid to check if it delivers correctly. If it works correctly with others and shows errors with default SMTP then this needs to be reported to hosting.
Why does this Server Error occur?
As you know, our Plugin generally applies to the mail system of the Site.
PAFE 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 is the 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, and the most important achievement is to settle “forms not sending emails” matter.
Try using any popular SMTP plugin ( https://wordpress.org/plugins/search/SMTP/).
More Troubleshooting Tips for Server Errors
Besides contacting your host provider, here are several steps you can try to solve this issue:
- 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. Basically, you have to check the field mapping within your autoresponder account and within PAFE Form Builder. Make sure that you do not have the required fields set to “none” within the Fields. 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 PAFE and PAFE 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 you use the correct shortcode as shown for each field within your email message box.