Some of the WP Job Manager add-ons send email notifications for various things. If you find these emails are not being received by the intended recipients, there are a number of possible reasons.
How emails are sent
WP Job Manager add-ons use the wp_mail() function to send emails. This is a core WordPress function which requests WordPress to send the email. Because WordPress is not an email server, it typically asks PHP to send the email for it. PHP then checks for a local email server within the web server and tells that email server to send the email. Your email passes these three steps before reaching your web server, and the issue could lie at any of those steps.
Are emails being sent?
The first step is to determine whether WP Job Manager is even trying to send the emails.
To verify this, you can install and activate the free WP Mail Logging plugin:
Once it’s activated, try performing an action which should result in an email being sent (e.g. submitting a Resume, or applying for a job via an application form). Then go into your dashboard and look under Tools > WP Mail Log. If there are log entries there for the relevant emails, then they are attempting to send, but something external to WordPress is preventing them from being delivered.
Check your Spam folder
It’s possible that the emails could get all the way to the recipient but then their email client falsely flags them as spam. So check your spam folder to make sure the emails aren’t in there.
If not, it’s likely that they are getting rejected by the server. This could be due to a spam blocker that falsely flags your emails as spam and rejects them. The best way to resolve this is to sign up for an account with a dedicated SMTP provider.
Using an SMTP provider
A dedicated SMTP provider is like a web host in the sense that you have an account and use their servers. The difference is instead of hosting websites, you use their servers to send emails. Gmail is an email provider where you send and receive emails; a dedicated SMTP provider is similar to having half of Gmail, where you only send emails and not receive them.
By using a plugin the SMTP provider has available or the Post SMTP plugin, the wp_mail() function reroutes the email from PHP to your SMTP provider. From there, the SMTP provider receives the request and adds your email to a queue to be sent.
Recommended SMTP providers
There are three providers which have a free account available and will work for most websites. All three have their own plugin on WordPress.org and can be installed from your WordPress dashboard, and have support available to help you get started.
- SendGrid (Plugin) – You can get a free account to send up to 40,000 emails per month if you host with Rackspace. Otherwise, the free account is limited to 200 emails/day (~6000/month)
- Mailgun (Plugin) – Owned by Rackspace, free account limits to 200 emails/day (~6000/month)
- Mandrill (Plugin) – From MailChimp, it costs $9.95/month for up to 50,000 emails/month
Can I use Gmail as my SMTP Provider?
Yes, but it is not ideal. Gmail will disable your account if you send emails to more than 500 unique recipients in an 24-hour period. This includes emails you send yourself and all emails your website is sending. Your account would be disabled for a day before you can use it again.