Article Last Updated: June 10, 2016
Nine times out of ten, the incentives emails aren’t being sent due to an issue with the `wp_mail()` function on your server. This often happens on shared hosting plans who have a number of users on a single server. When one user takes advantage of the mail server setup on the shared hosting environment, the entire server gets blocked – and anyone on the server is negatively affected (this is one of the drawbacks of a shared hosting plan).
This can be verified by using the ‘Send Test Email‘ button, from the Signup Incentives tab on the respective Edit Form page.
Once clicked, you should wait a few minutes for the test incentive email to be sent. If, after some time, the email doesn’t come through – then your `wp_mail()` is most likely not working properly.
Additionally, you can test the `wp_mail()` functionality by trying to reset your user password.
Log out, and head over to your login page at `/wp-admin/` (or a custom URL if you have that setup). Click on the ‘Forgot Password’ link, and enter your credentials. Wait a few minutes and check to see if you’ve received any emails. If there are any issues, you won’t receive anything.
1. The easiest solution, that requires the least amount of work, is to reach out to your hosting provider and let them know that wp_mail() is not functioning properly on your server. A decent host will investigate and resolve the issue for you, or move you from one server to another that is not having such issues. This is the easiest solution – but on a shared hosting plan, you may run into the issue again if for one reason or another they block `wp_mail()` on the new server.
2. The next solution is to install a third party plugin and re-route all of your sites mail (which uses the `wp_mail()` function) through an SMTP server – such as Google. The plugin which we recommend is WP Mail SMTP, by Callum Macdonald. We have used this before with great success on a few of our own servers. In the past, when users were facing issues we would configure this plugin for them to get things up and running quickly.
WP Mail SMTP GMAIL Configuration
Setting up WP Mail SMTP to route mail through GMAIL is easy. Enter the following credentials into your settings found under ‘Settings > Email‘.
- From Email: Custom Email/Site Email
- From Name: Your Name/Site Name
- Mailer: Send all WordPress emails via SMTP
- SMTP Host: smtp.gmail.com
- SMTP Port: 465
- Encryption: Use SSL encryption.
- Authentication: Yes: Use SMTP Authentication.
- Username: Your GMAIL Username
- Password: Your GMAIL Password
Once you’ve set everything up to route through your GMAIL account, you can enter your email address in the field below and click on the blue ‘Send Test‘ button to test out the new mail settings. If you successfully receive the email, you’re good to go – and any function (built into your theme, or third party plugin) that uses the built in `wp_mail()` function, will now be routed through the your GMAIL account.