The likely reason your not receiving emails from your website forms
There is a problem we often see with new websites or after a hosting switch where email notifications from forms are not being received by the site owner. Assuming there are no error messages appearing, the first test is to try using an email recipient address that uses a different domain than the website. If that successfully is received, it is likely you are using mail servers other than your host and therefore you need to set your hosting configuration to be a Remote Mail Exchanger rather than local.
By default most hosts assume that you will be using the server for email as well and it will set the DNS within the hosting company so that your web server is also your mail server. So what happens here is that when a form is submitted from your website, it looks at the local DNS settings and then sends the email to itself, expecting the web hosting account to be your mail server. The message never actually makes it out into the external DNS world to realized that your mail server is actually somewhere else like Google, a corporate server, or 3rd party hosted mail somewhere else.
REMOTE MAIL EXCHANGER in cPanel
- Log into cPanel
- Under MAIL > Advanced MX Editor you should see options to set your Email Routing
- Set it to Remote Mail Exchanger and Click Change.
- Test it again. You may need to wait a little while for the change to take affect. You can try testing right away, but maybe 30 minutes is a reasonable time.
Is Your Send From email using your domain?
Check the From address on your form settings and use an email address that also uses the site domain. Some hosts require this, rather than just using the users email input into the form.
SMTP Authentication
If both of those methods fail, try SMTP Authentication. In the event that your mail server is blocking mail from the web server, it may consider not a Safe Sender since it thinks only the main mail server should be sending email using the domain. This is typically in corporate environments running their own mail servers. SMTP Authentication will use the credentials and mail server settings of a valid account and will actually connect and relay the mail through the main mail server rather than use the web server.
There are plugins available for WordPress to make this pretty easy.