Last reviewed/updated 13/2/2019
Web-to-email contact forms stop working with mysterious regularity. They work one day and just suddenly stop working the next. Usually the first you know about it is when you notice that you haven’t had any email enquiries from your website for a while. Here are some tips on why email contact forms stop working and what to do about it! This is a non-technical article, so you won’t need to be a geek to make use of it.
An email contact form (also known as web-to-email form or just web form) on a website or mobile app is meant to send its contents by email to a named recipient. Almost all business websites have one – sometimes many – such forms.
The most important thing to understand is that email relies on data travelling between many different computers before it reaches you. The email will originate on the web server itself (the computer where your website is hosted), then it will usually be sent to a specialised email server called an SMTP server (this stands for Simple Mail Transfer Protocol). SMTP servers are dedicated to sending email (as opposed to other types of server which are dedicated to receiving or storing email).
Most of the time, when your web form stops sending emails, it’s a problem with the SMTP server.
SMTP server credentials change without you knowing
A basic (but often misunderstood) fact is that all email from web forms has to be sent through a valid email account. So to send email, the form will be configured (somewhere) to know at least four pieces of information:
- The name of the SMTP server
- The port on which the SMTP server can receive mail (think of ports like letterboxes in a row of houses – there are lots of letterboxes, but only post for you is supposed to come through your letterbox). Ports have numbers like 587 or 25.
- The username of the email account
- The password
So, a very common reason for web forms suddenly failing is an unexpected change in the details of the email account that you are sending the email through. Check your form settings to ensure that the email account has not been deleted, changed, or had the username or password changed. Check that the port has not changed without your knowing. If the email account is on a different domain name from the one your website is running on, check that the domain name has not expired.
You are suddenly blacklisted
It’s possible that the SMTP server that you are sending the email through has suddenly become blacklisted. This usually happens if you (or somebody else) sends high volumes of spam through the server. It might not be your fault, but you will still have to deal with the consequences. You can use online tools such as MX Toolbox to find out if your domain name or the IP address of your email server is blacklisted. If it is blacklisted, you’ll need to talk to your web hosting company or tech person to get unblacklisted.
Firewall configuration changes without you knowing
Websites are usually held on servers that are behind firewalls, for security reasons. Server firewalls can sometimes change without your knowledge. For example, your web hosting company may suddenly change their policy on using your web server as an email server, or may block outgoing emails from your server for some reason. If this happens then you will need to talk to your web hosting company to get the issue resolved.
Your emails are going into spam, junk or clutter folders
It could be that emails generated by your forms are being correctly sent, but are simply going into your spam or clutter folders. Check these before doing anything to fix or change the form itself. Update the rules on your email program to whitelist emails with the subject line that your web form generates.
Update 3/5/2017: We just had a new customer tell us that their contact form was not working. We checked it and the form-fills were being sent to their previous SEO company. Lesson: check the email address that the contact forms are being sent is one you have access to. It might sound simple but it is a real problem!
You may need to adjust your domain name to include authentication
When SMTP was designed back in the 70s, nobody thought that people might send mail that impersonates another email account. This was exploited by spammers, allowing them to send vast quantities of junk mail through spoofed email accounts. By 2009, spam accounted for 90% of all mail sent. It almost caused the email system to collapse and led to talk of redesigning email from the ground up. However, nobody could agree on a new design, so SMTP had some bolt-ons added to patch the problems. SMTP remains the most common way to send email.
Now, many email recipients will check your domain name settings as email arrives from your email account and look for settings which will tell the recipient that the sender is valid. There are two main ways of setting this up:
- SPF records. SPF stands for Sender Policy Framework. It is a setting on your domain name which tells the Internet which servers are valid to be sending email from you from.
- DKIM records. DKIM stands for Domain Keys Identified Mail. This system adds an invisible signature (which can’t easily be forged) to each email, which won’t match if the email is modified as it is sent across the Internet. It’s a way of determining if the contents of the email were altered in transit.
Unfortunately, neither of these settings are particularly easy to set up yourself. We recommend contacting your friendly tech person for help setting these up.
How to keep your forms working
1. Test your forms
We recommend that you test all your web forms regularly, for example once a month. Ensure that you receive the email you expect at the email account you expect.
2. Use an external mail provider
The most reliable way to raise the reliability of your web to email forms is by using an external email provider such as SendGrid or MailChimp. These services effectively outsource the sending of email. They can send email from any domain (though you will need to set up your domain with the appropriate SPF and DKIM settings as above). They are extremely reliable and therefore almost guarantee that any email sent will be delivered properly.
Since most businesses use bulk mail sending services anyway, these external email delivery products can usually be added to your existing package. For example, MailChimp offers a sister package called Mandrill which serves this purpose.
3. Install a database form capture
This is vital. If you are using a Content Management System such as WordPress, and you’re using some of the common web form plugins such as Gravity Forms or Contact Form 7, you can install a plugin such as Contact Form to DB.
This will capture the contents of the forms into your WordPress database whether or not the email is sent or delivered correctly. This is a viral belt-and-braces technique which we recommend for all websites.
I hope this tutorial has given you a taste of some of the most common reasons why web-to-email forms suddenly stop working. I also hope that it has given you a clue as to best practice to keep your forms in top working order and keep those business leads flowing in!