Try manually resetting your plugins (no Dashboard access required). If that resolves the issue, reactivate each one individually until you find the cause.
If that does not resolve the issue, access your server via SFTP or FTP, or a file manager in your hosting account’s control panel (consult your hosting provider’s documentation for specifics on these), navigate to /wp-content/themes/ and rename the directory of your currently active theme. Hopefully, this will force the default theme to activate and rule out a theme-specific issue (theme functions can interfere like plugins).
—
As for not receiving the emails, it sounds like your hosting provider has disabled PHP’s mail()
function, which WordPress uses to send you email notifications and is also used by contact form plugins and more.
This is a common safeguard employed by hosting providers when they suspect that another customer on the same server is sending spam emails directly from the server.
Another alternative is that PHP’s mail()
function is still active, but spammer activity from the server has already caused any email sent from it to be blocklisted. This would result in the emails being sent but never received by any email address with basic anti-spam capabilities.
You can check this by leaving a comment on your site and checking if you receive an email. Another alternative would be to use the Health Check plugin and send yourself a test email from the plugin’s Tools tab to see if it works.
If you didn’t receive a test email, you could try using an SMTP plugin to configure your WordPress site to use your email’s outgoing mail server instead of PHP’s mail()
function.