Your new WordPress site is done and ready to launch. But there's a problem - you can't send mail. This means your contact forms don't work, new user email notifications aren't sending, password reset mails go nowhere. It's a real problem, but the solution is fairly simple.
Signs Your WordPress Email Function is Broken
When mail isn't working, there are usually some common error messages you'll see:
- On WordPress password reset: "The e-mail could not be sent. Possible reason: your host may have disabled the mail() function"
- With forms on Contact Form 7: "Failed to send your message. Please try later or contact the administrator by another method"
If you aren’t seeing any error messages from the site, then your site may be sending emails, you just aren’t receiving them. Check your spam/junk mail folders. You may be having deliverability issues.
There are usually two reasons that email is broken:
- The configuration of your server blocks the PHP mail() function from operating correctly.
- The email provider that you use doesn’t accept emails from PHP’s mail() function.
The good news is the fix is the same for both of these issues!
How to Fix Mail and Start Sending Again
We're going to install the WP Mail SMTP plugin. First, you'll need to login to to WordPress. If you only have one account and can't remember the password, the only way to reset it is directly in the database. You should contact your developer or hosting provider to have them reset it for you.
Once logged in, go to Plugins -> Add New and search for WP Mail SMTP. This plugin changes WordPress from using php's mail() function to using SMTP protocols.
Once you've installed and activated the plugin, go to Settings -> Email to configure it.
Once you've configured your settings, you'll want to go the second tab at the top "Email Test". Send a quick test email and make sure it's working.
Need a WordPress Expert on your team?
Find out more about our WordPress Care Plans and how we can keep your site in top shape and take care of any issues or improvements on your site.