Wow! My beloved Contact Form 7 just put me through the wringer, so take note so you don’t have to go all through this.
A Client’s WordPress website that hasn’t missed a beat for years (literally years!) started generating “Failed to send your message. Please try later or contact the administrator by another method.” errors. This is one of those innocuous error messages you simply don’t want to have to tackle.
I checked a range of common causes I’ve tripped over previously in similar situations:
SPF Record OK?
Sender Policy Framework is an email framework that’s defined as a TXT record in the site’s Domain Name Service (DNS).
Basically, its a declaration that the website is legitimately able to send emails on behalf of the domain. Yes, that does sound a bit Irish (no offence intended to my Irish friends)
Here’s why: What typically happens is the client sends and receives their emails happily via Outlook365 or whatever email client from their desktop &/or mobile. The O365 setup will likely add a SPF record to say its OK for the emails to be sent from the outlook domain on your behalf – (yep that’s where O365 emails emanate from.
Then a visitor on your website fills in your contact form. The site transforms that into an email that it sends. So now we have an email from your domain coming from a different source – your website. So the email ‘network’ sees that email is not from the permitted Microsoft domain, but from a completely different source – your website’s web server.
The receiving email system typically sees this as an illegitimate email (read spam). Sometimes the receiving email system won’t even deliver the email into the destination person’s inbox, but rudely will dump it as a distasteful piece of spam. Not ideal treatment of a message that could well be an important sales lead generated from the website…
Spam email constraints like this are getting tighter as ’email systems’ try to work out how to reduce email spam…
After checking the SPF record (using by favourite DNS tool mxtoolbox.com) and it looked OK, I was still confronted with the unable to send error message. So I installed Easy WP SMTP Plugin and setup then configured an email address just for the website enquiry form.
This nifty plugin replaces the normal email sending features in WordPress that uses a raw PHP sendmail() . The plugin also enables the site admin to configure their own email configuration for sending emails from the site. The theory is that you can add an independent email configuration that escapes the horrors of being treated as spam. Nice plugin but sadly still no resolution.
In desperation, I contacted host support. In my case its the Siteground hosting support. These guys (and gals) provide top quality website support (that’s the main reason I use them) so I was confident that with their help we could finally sort this out. Unfortunately not. At least we were able to confirm that the mail configuration was correct, but the error persisted.
Email Diagnostic Tools
Did I mention that Easy WP SMTP plugin has some diagnostic tests built-in? Very useful but still not giving the results I expect. I even installed Check & Log eMail to see if I could glean some useful diagnostic information. Nup.
After my 9th coffee, I had a moment of brilliance and uninstalled and reinstalled Contact Form7. Voila! It all worked OK. It seems the plugin appeared to be working but has somehow got itself scrambled and a reinstall sorted it out.
This all rolled out over nearly 2 days, slotting in between other tasks and took several hours.
Emails are vital in business communications these days, so email support is a necessary evil.
Have I mentioned yet that I hate email support?