It is the most common complaint that I see on the support forum for the Contact Form 7 plugin. This issue is very hard to debug because the plugin relies exclusively on email for form submission delivery. In the following article I am going to explain the main reasons for failed contact form deliveries and offer solutions to avoid losing those business leads and form entries.
Why it Happens?
Spam filters are smart. By default, Contact Form 7 is configured to send form submissions as if they originated from the email account of the person submitting the form. I consider this the main reason why they are being rejected and not being delivered to your inbox. Would you trust an email that only “appears” to be sent by PayPal or Amazon? Here is why it happens.
The IP address of your website (which is sending the email) does not belong to the sender’s email domain. The receiving mail server does a reverse DNS lookup to verify if the sending IP address resolves to the domain of the sender. This check will always fail if the
From header is set to use the senders email address (which is
[your-email] by default) without additional information about the origin of the email.
One possible solution is to add two additional email headers —
Reply-To to all emails, like so:
Sender: email@example.com Reply-To: [your-name] <[your-email]>
Sender is a valid or fake email address that includes the domain name of your website, and
Reply-To is the senders email address (same as
From). Here is an example from an application form on WordPress Blogroll:
These headers will inform the receiving mail server that the email was sent by your website on behalf of the sender. Please note that this is not a guaranteed fix and solution as there are many other factors that go into filtering unwanted and spam messages. With this change we are just telling the mail servers about our true intentions and why the message appears like it does.
Solution B: Store Form Submissions in WordPress
If contact forms are critical to your business and you can’t afford to miss a single inquiry or lead due to email failure, you should use a form entry capture and storage plugin for Contact Form 7.
I have created the Storage for Contact Form 7 plugin which keeps copies of all Contact Form 7 submissions (including attachments) safely in your WordPress database. It is available on CodeCanyon for only $19. This plugin will ensure that you never miss a single form inquiry and submission even if you email stops working.
Please leave a comment below if you have any questions about the plugin.