Contact Forms Stopping Working
Hi
I have a few Siteotigin sites and the contact from has stopped working on a couple. Can you think of a reason, nothing has changed and everything is up to date
Many thanks
Roland
This is our free support forum. Replies can take several days.
Need fast email support? Get SiteOrigin Premium
Replies
5Hi Roland
Thanks for reaching out. I can’t look at the sites without a link, but here are a few reasons a contact form can stop working with nothing changed. What the form does when you submit it helps tell them apart.
One possibility is page caching. If the page reloads with no message at all and nothing arrives, the form may be getting an expired security token. Our Contact Form Widget includes a token that WordPress expires after 12 to 24 hours. If a caching plugin, your host or a CDN such as Cloudflare serves an older copy of the contact page, the form quietly drops the submission. Logged-in admins usually get a fresh copy of the page, so the form can work when you test it and still fail for visitors. If that’s what you see, one option is to exclude the contact page from page caching and then purge that page from the cache.
If the form shows its success message but the email doesn’t arrive, delivery needs checking, starting with the spam folder. An SMTP plugin such as WP Mail SMTP sends the site’s email through a mail account you set up, and its email log shows whether WordPress tried to send each message. If the form shows an error such as “Error validating your Captcha response”, the reCAPTCHA settings in the widget’s Spam Protection section are one thing to check.
If you post the address of a contact page that has stopped working, along with what you see when you submit the form, I’ll check how that page is cached.
Kind regards,
Andrew
Hi Andrew
Thanks for the response.
The form subits OK but nothing is revieved. The link is https://cheerbrookaf.co.uk/contact/
I have had this before when I coudl not get the form to work in the place and put a work around in using teh SMTP plugin and setting up a free Brevo account, but it is long winded and one I hoped to avoid. As thsi was working and has stopped I thought I would ask.
Many thanks
Roland
Hi Roland
Thanks for the link. Our Contact Form Widget shows its success message only when WordPress reports that it has handed the email to your server’s mail system. If the security token on the page has expired, for example on a cached copy, the form reloads with no message and sends nothing. The contact page I loaded showed no sign of page caching, but a cache can sit outside what I can see. So the thing that tells the two causes apart is what you see after you click Send Message: the success message, or a reload with no message. I didn’t send a test message through the form.
If you see the success message, the email is probably getting lost after it leaves WordPress. I think the cause might be the service that receives your mail. Email that a web server sends on its own, without signing in to a mail account, often goes to spam or quarantine or is rejected outright, and the big mail providers keep tightening those checks. That would explain the form stopping on a couple of sites at once with nothing changed on them. It would also explain why your SMTP and Brevo workaround fixed it before.
One setting is worth a look first. Edit the contact page, open the Contact Form Widget and expand its Settings section. If From Email Address is at another domain, such as a Gmail or Outlook address, the receiving service may treat the message as forged, and switching to an address at cheerbrookaf.co.uk may help. If the field is empty, the widget sends from wordpress@ followed by your server’s domain name, which is normally cheerbrookaf.co.uk.
SMTP is the more reliable route, and it doesn’t have to go through Brevo. If you have an email account via your custom domain, WP Mail SMTP can send through that mailbox. Go to WP Mail SMTP > Settings and open the General tab. Enter the mailbox’s address in From Email and check Force From Email. In Mailer, select Other SMTP. Fill in SMTP Host, Encryption and SMTP Port with the details your email provider gives for that mailbox. Turn on Authentication and enter the mailbox’s SMTP Username and SMTP Password. Click Save Settings. You can then send a test from WP Mail SMTP > Tools, on the Email Test tab.
If the page reloads with no message instead, the expired token is the likely cause. In that case, one option is to exclude the contact page from page caching in your caching plugin or at your host, and then purge that page from the cache.
Kind regards,
Andrew
Thanks, I tested it with WP Mail today with a free, limited email, so I may try with outlook and see what happens. But I don’t follow your explanation. What is Mailer, if I am using your Plugin and WP Mail? Thanks
Hi Roland
Sorry, I explained that badly. You keep both plugins, and they do different jobs. Our Contact Form Widget builds the message and hands it to WordPress to send. Without an SMTP plugin, WordPress passes it to your web server’s own mail system, and I think that may be where the messages are going missing. WP Mail SMTP steps in at that point and sends the message through an email service you pick instead. Mailer is the WP Mail SMTP setting where you pick that service, at WP Mail SMTP > Settings on the General tab. Nothing changes in the widget, and every email the site sends, including the form’s, goes through whichever Mailer is set.
Brevo is one of the services in the Mailer list, which may be how you used Brevo before. Other SMTP is for an ordinary mailbox, such as one at yourdomain.co.uk from your host. For that one, you enter the server details and the mailbox’s username and password that your email provider gives you.
On Outlook: Microsoft is phasing out plain username and password sign-in for sending mail, so whether an Outlook or Microsoft 365 mailbox works through Other SMTP depends on the account and its settings. WP Mail SMTP also has a separate Microsoft 365 / Outlook.com mailer for those accounts, which is part of WP Mail SMTP Pro. Their guide is here: Microsoft 365 / Outlook.com. A mailbox at your own domain through Other SMTP, or Brevo, both work with the free plugin.
Whichever Mailer you choose, the Email Test tab at WP Mail SMTP > Tools checks the setup. After that, send a new message through the contact form, with different text from any earlier test, and check that it arrives.
Kind regards,
Andrew