The biggest reason this happens is if your hosting provider is not configured to use PHP mail() function or that the email service provider uses tools to reduce email spam. Here are two ways to setup email that should increase the ability to send from your site. The first one is to use Mandrill this is an email delivery system from the folks over at MailChimp.
Mandrill is a dedicated email service provider and is free to use for your first 12000 emails a month which should be enough for a beginner site.
To set it up, first install and active the wpMandrill plagin.
Then go to Settings — > Madrill to configure.
You’ll need to create an account on mandrill.
And then go to settings to add a new api key. Then we’ll copy that key and paste it in our mandrill plugin on our site.
Once I add the sender name and email I can click save changes.
And my WordPress site is now configured to use mandrill for all outgoing email services.
The other way to do it is by sending WordPress email using Gmail smtp servers. For that just install and activate the wp mail smtp plugin.
Then go to Settings -> Email to configure.
Make sure this is checked and then add the Gmail server information here.
Once all that is added, we’ll click save changes and we are now using Gmail for outgoing emails. I hope you liked this article and found it helpful.