Not receiving user emails or admin notifications

If you are having issues with your site’s users not receiving emails or you are not getting admin notifications it is most likely caused by the unreliability of the default PHP mail() function used by WordPress or by the fact that your host/server is not properly configured to use the PHP mail() function.

It is for this reason that many popular WordPress sites (and us) do not use the PHP mail() function for handling their email delivery. We instead use SendGrid to handle all email delivery. SendGrid provides up to 10,000 free email deliveries a month and your emails will be de delivered much faster and have far greater reliability than using the PHP mail() function. 

This article provides easy instructions on how to set it up:

http://chrislema.com/guaranteed-delivery-of-wordpress-mail-isnt-difficult/