Have just tested a Beaver Builder form I added to my contact page and it’s not working.
When the form is submitted it shows the message sent notification under the form, but the message isn’t being delivered to the address configured in the module settings.
Did you check if it’s in the Spam folder? Our Contact Form module is using the wp_mail() function which is similar to PHP’s mail() function and we’re not doing any special checks to the recipient email address, except the usual.
The problem could be with your email provider or hosting. Either the email get sent through or you didn’t receive it, or the email didn’t really get sent. Some hosting requires an SMTP plugin so the emails work right(not really an expert on that field). Would it be possible for you try using another form plugin and see if you get the same problem?
Sorry, not really an email expert here. You could try getting in touch with your hosting company and check with them and see what they say. Alternatively, you can post the same question over to the FB Group and/or Slack Channel and see if someone experienced the same problem and has a solution for you.
I’ve fixed it now and you were right, the problem had nothing to do with BB at all.
For the benefit of anyone else that reads this thread, I’m told that this is a fairly common problem with PHP forms where the domain that the form is hosted on matches the domain that the notification email that the form is trying to send to.
In my case, the DNS records for this domain are hosted with GoDaddy, the website is hosted at SiteGround (domain pointing at my SiteGround IP address via an A Record) and my email is hosted by Google Apps for Work (with all the correct MX records in place).
Apparently this PHP form issue causes the form to try and send the notification “locally”, so n my case it only made it as far as GoDaddy and didn’t reach the MX records for my domain. And as it didn’t see the MX records, it couldn’t make it to my Google Apps inbox.
The solution was actually pretty simple.
When you host with Google Apps for Work, every user (and every user alias you create for your users) gets given a temporary email address that’s auto-generated by Google.
I don’t want to share my email in the wild so as a fictitious example, a Google Apps for Work user with the address [email protected] gets another Google address like this:
If you use this temporary address you get round the PHP form issue caused by the matching domains, but it goes to the [email protected] inbox as it’s basically an alias.
Phew…just added that for the benefit of other people that may have the same problem - I don’t understand it but it’s working now so I’m happy
You need to go to the Admin Console for your domain. I navigate there usually via the settings cog on the top right of Google Mail. The steps are:
Click that settings cog in GMail, then click on Manage this domain.
The next page is called the Admin Console, and you should be presented with a number of icons in the middle of the page. The first option is most likely to be Users - this is the one to select.
After clicking on Users you’ll then need to click on the relevant user on the next page.
Then when the user info page loads, you’ll see an option near the top of the list called Account, which you should click on next.
Finally, the test email address created by Google will be shown near the top of the page you land on after clicking Account, near the top of the page, under Contact Information.
Worth checking by following the steps above, but I believe that the format for Google Mail test emails is the same for everyone:
It’s basically just .test-google-a.com pasted on the end of your email address.
Finally…if you use this test email address for your form, submissions will go to your inbox the same as if you had added your main email address to the contact form settings.
Either get your webhost to “turn off local mail delivery”, or get your WordPress site to send via by SMTP instead of using PHP’s mail() function. There are plugins around for the latter I believe.