Is your WordPress site not sending emails? You’re not alone.
Email delivery issues are one of the most frustrating problems WordPress users face. Whether it’s password reset emails that never arrive, contact form submissions disappearing into the void, or WooCommerce order confirmations going missing, these problems can seriously hurt your business and user experience.
The good news? Fixing WordPress email issues is easier than you think. In this guide, I’ll walk you through why WordPress struggles with email delivery and show you exactly how to fix it using SendLayer and the Easy WP SMTP plugin.
Why WordPress Doesn’t Send Emails by Default
Before we jump into the solution, it’s important to understand why this problem happens in the first place.
By default, WordPress uses the PHP mail() function to send emails. While this sounds fine in theory, it comes with several critical issues:
No Email Authentication
The PHP mail() function doesn’t authenticate your emails. This means email providers like Gmail, Outlook, and Yahoo have no way to verify that your emails are legitimate. Without proper authentication (SPF, DKIM, and DMARC records), your emails are likely to be flagged as spam or blocked entirely.
Poor Email Deliverability
Without a dedicated mail server and proper email infrastructure, your messages lack the credibility that inbox providers require. Modern email systems are designed to block unauthenticated emails, and WordPress’s default setup doesn’t meet these standards.
The bottom line: WordPress wasn’t designed to send emails reliably out of the box. You need a dedicated email service to handle this properly.
The Best Solution: Using SMTP With SendLayer
The most effective way to fix WordPress email issues is by using SMTP (Simple Mail Transfer Protocol) instead of the unreliable PHP mail() function.
What Is SMTP?
SMTP is the industry-standard protocol for sending emails. Unlike PHP mail(), SMTP:
- Authenticates your emails with proper credentials
- Uses dedicated mail servers for better deliverability
- Provides detailed logs for troubleshooting
- Supports email authentication (SPF, DKIM, DMARC)
- Works reliably across all hosting environments
Why SendLayer?
SendLayer is a transactional email service built specifically for developers and website owners who need reliable email delivery. Here’s why I recommend it:
1. Exceptional Deliverability
SendLayer uses dedicated infrastructure and automatic domain reputation protection to ensure your emails reach the inbox, not the spam folder.
2. Easy Setup
You can configure SendLayer with Easy WP SMTP in under 10 minutes. No complex server configurations required.
3. Generous Free Trial
SendLayer offers 200 free emails to test the service. This is perfect for trying it out before committing to a paid plan.
4. Affordable Pricing
Plans start at just $5/month, making it accessible for small businesses and personal sites.
5. Domain Reputation Protection
SendLayer automatically creates a subdomain for your email sending activities. This means if anything goes wrong, your main domain’s reputation stays protected.
How to Fix WordPress Emails With Easy WP SMTP
Now let’s fix your WordPress email issues. I’ll guide you through the entire process step by step.
Prerequisites
Before we begin, make sure you have:
- A WordPress website with admin access
- A SendLayer account (sign up for free at sendlayer.com)
- Access to your domain’s DNS settings (usually through your domain registrar or hosting cPanel)
Step 1: Authorize Your Domain in SendLayer
This is a crucial step that many people skip, but it’s essential for email deliverability.
Domain authorization tells email providers that SendLayer is allowed to send emails on behalf of your domain. Without this, your emails will likely go to spam.
First, you’ll need to log in to your SendLayer account dashboard.
To authorize your first domain, start by clicking the orange Add Domain button at the top of the page.


Once you’ve added your domain, SendLayer will automatically detect your domain host and generate 5 different DNS records unique to your domain.
Note: Whenever you add a domain to your SendLayer account, our platform automatically creates a subdomain for you. It starts with sl, as in sl.example.com. For additional information, be sure to check out why SendLayer creates a subdomain.
If you’re using Cloudflare to manage your DNS, you’ll also want to turn the Proxy Status off for each record you add. DNS records need to be directly queryable for email authentication.


When you’re ready to proceed, click the Verify DNS Records button.

Note: DNS changes can take 15-30 minutes to propagate, though they usually happen faster.
After adding the records, return to your SendLayer dashboard. SendLayer will automatically verify your domain. You’ll see a green checkmark when verification is complete.

Step 2: Install Easy WP SMTP Plugin
After authorizing your domain, you’re ready to configure the Easy WP SMTP plugin.
To do so, log in to your WordPress admin dashboard. Then, navigate to Plugins » Add Plugin. In the search box, type “Easy WP SMTP”.

Once you’ve found Easy WP SMTP, click Install Now to install the plugin.

After the installation completes, click Activate.

After activation, you’ll see a welcome screen with a setup wizard. We’ll use this to configure everything in the next steps.
Step 3: Configure Easy WP SMTP
After launching the wizard, click the Let’s Get Started button to begin the setup process.

Choosing Your SMTP Mailer
The first step in the setup process is to select the mailer you’d like to configure. Go ahead and choose the SendLayer option.

After choosing, scroll down and click the Save and Continue button to proceed to the next step.

Configuring Mailer Settings
You’ll need to add your SendLayer API key. To access this key, click Follow this link below the API key field.

You’ll be directed to your SendLayer account dashboard. Alternatively, you can access this page by navigating to Settings » API Keys. Once here, click the copy icon next to your API key to copy its value.

Then return back to the Setup Wizard screen and paste it into the API Key field.

We’ve outlined the settings you may need to complete to configure your mailer below.
The From Name is the name that will appear as the sender of all emails sent from your site. By default, it’ll be your website’s name, but you can change it to any text you prefer.

You can also enable the Force From Name option to apply this name to all emails site-wide.
Next, you’ll need to specify the sender email address. The From Email is the email address that all of your WordPress site’s emails are sent from.

We strongly recommend enabling the Force From Email option, which will save you from having to edit the From Email settings throughout your site (in all settings where email could be sent from) and ensure that all of your site’s emails are authenticated.
After entering your mailer settings, click the Save and Continue button to proceed to the next step.

Enabling Email Features
Next, you can choose which email features you want to turn on. These features include:
- Improved Email Deliverability: This feature authenticates your emails through your chosen mailer. This feature is enabled by default.
- Email Error Tracking: Easily identifies errors causing delivery issues. This feature is enabled by default.
- Detailed Email Logs: Records every email sent from your website.
- Complete Email Reports: Monitors email deliverability and performance.
- Weekly Email Summary: Provides weekly statistics about the emails you’ve sent.
- Instant Email Alerts: Notifies you via email, SMS, Slack, or webhook if emails fail to send.
Note: Email logging is only available in the paid version of Easy WP SMTP.
By default, Improved Email Deliverability and Email Error Tracking are the only enabled features. To turn on other features, click the checkbox next to the desired feature.

Once you’re done, click the Save and Continue button.
Entering Your Easy WP SMTP License Key
After configuring your email features, you’ll be asked to enter your license key to enable automatic plugin updates.
If you have the license key, simply paste it into the provided field and click the Connect button to activate your license automatically. Don’t have a license key yet? You can purchase it here.

Otherwise, you can click the Skip this Step button if you’d like to continue with the free plugin.
Step 4: Send a Test Email
Once you’ve entered your license key, Easy WP SMTP will send a test email to ensure that your setup is working correctly. If everything is working as it should, you’ll see a message that says “Congrats, you’ve successfully set up Easy WP SMTP!” To finish the setup, click the Finish Setup button.

If there are any errors during the test email, you’ll see a message that says “Whoops, looks like something isn’t configured quite right.” Click the Start Troubleshooting button to begin the troubleshooting process and view any error messages. Follow the recommended troubleshooting steps to resolve any issues.

Troubleshooting Common Email Issues
Even with proper SMTP configuration, you might encounter some issues. Here are the most common problems and how to fix them:
“Could Not Authenticate” Error
This error means your SMTP credentials are incorrect or your domain isn’t properly authorized.
Solution:
- Double-check your SMTP username and password in Easy WP SMTP
- Check that DNS records were added correctly
Emails Going to Spam
If emails are sending but landing in spam folders, it’s usually an authentication issue.
Solution:
- Verify SPF, DKIM, and DMARC records are properly set up
- Use mail-tester.com to check your email score
- Avoid spam trigger words in your email content
Connection Timeout Errors
This usually means your hosting provider is blocking SMTP connections. It often occurs if you’re using the Other SMTP mailer in Easy WP SMTP.
Solution:
- Try using port 465 with SSL instead of port 587 with TLS
- Contact your hosting provider and ask them to allow outbound SMTP connections
- Some hosts block port 587/465. Ask if they have alternative ports
- Switch from a traditional SMTP connection to an API-based email provider
Test Email Works But Forms Don’t Send
If test emails work but your contact forms still fail, the issue is with the form plugin.
Solution:
- Update your contact form plugin to the latest version
- Check form notification settings (ensure notifications are enabled)
- For Contact Form 7: Make sure the “To” email is correct in the mail tab
- For WPForms: Check Settings » Notifications in your form builder
- Review the Easy WP SMTP email logs for failed attempts
Pro Tip: If you’re using WPForms, see its tutorial on troubleshooting form notification email issues.
Best Practices for WordPress Email Delivery
Once you’ve got emails working, follow these best practices to maintain reliable delivery:
1. Always Use an Authorized Domain
Never send emails from free email addresses like Gmail or Yahoo. Always use an email address at your own domain (e.g., [email protected]).
2. Monitor Your Email Logs
Easy WP SMTP includes email logging features. Regularly check these logs to catch issues early. You can access logs under Easy WP SMTP » Email Logs.

Note: See Easy WP SMTP’s tutorial to learn more about setting up email logging.
3. Keep DNS Records Updated
If you change email providers or update your domain, remember to update your DNS records accordingly.
4. Maintain Good Sending Practices
- Don’t send spam
- Include an unsubscribe link in marketing emails
- Only email people who’ve opted in
- Keep your email list clean and up-to-date
FAQs – WordPress Not Sending Emails
Below we’ve answered some of the top questions we see about resolving WordPress not sending emails issue.
Why is my WordPress site not sending emails?
WordPress uses the unreliable PHP mail() function by default, which lacks proper authentication. Most email providers block or flag these emails as spam. The solution is to configure SMTP with a service like SendLayer.
What is the difference between SMTP and PHP mail()?
PHP mail() sends emails without authentication, making them appear suspicious to email providers. SMTP authenticates your emails using proper credentials and dedicated mail servers, dramatically improving deliverability.
Do I need to pay for an SMTP service?
SendLayer offers a free trial with 200 emails, perfect for testing and small business owners. For ongoing use, affordable plans start at $5/month. The investment is worthwhile for reliable email delivery that protects your business communications.
Will this work with WooCommerce?
Yes! Once you configure Easy WP SMTP with SendLayer, all WordPress emails, including WooCommerce order notifications, password resets, and customer emails, will be sent through SMTP reliably.
Can I use Gmail SMTP instead?
While you can use Gmail SMTP, it has limitations: a 500 emails per day limit, potential account suspension for “suspicious activity,” and it’s not designed for transactional emails. Transactional email providers like SendLayer protect your domain reputation and improve email deliverability.
That’s it! Now you know how to troubleshoot and fix email sending issues in WordPress.
Next, would you like to prevent spam entries from your contact forms? Check our guide to learn how to stop contact form spam.
