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 several 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, so it typically asks PHP to send the email. 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; 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 for the relevant emails, 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 to the recipient, but then their email client falsely flags them as spam. So check your spam folder to ensure the emails aren’t there.
If not, they are likely 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 because 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 do 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 who have a free account available and will work for most websites. All three have their own plugin on WordPress.org, 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 monthly 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 24 hours. This includes emails you send yourself and all emails your website is sending. Your account will be disabled for a day before you can use it again.