How to Fix ‘WordPress Not Sending Email’ Issue

Editorial Note: We may earn a commission when you visit links on our website.

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)
  • 200 Free Emails
  • Easy Setup
  • 5 Star Support

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.

Add new domain
Type your domain and click add domain button

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.

cloudflare-proxy-setting-off
check-to-proceed-to-verify-dns-records

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

click-verify-dns-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.

authorized-dns-record-status

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”.

Search Easy WP SMTP plugin

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

Click Install Now

After the installation completes, click Activate.

Activate Easy WP SMTP

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.

    Lets Get Started button in Easy WP SMTP Setup Wizard

    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.

    Choose your SMTP mailer

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

    Click save and continue

    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.

    Documentation link in Setup Wizard

    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.

    Copy API key

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

    Paste API Key

    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.

    From name

    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.

    From email

    Important: Your From Email address must use the domain you authorized in SendLayer. For example, if you authorized example.com, your sender email should include @example.com.

    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.

    Save and Continue button in Easy WP SMTP Setup Wizard

    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.

    Email features in Easy WP SMTP Setup Wizard

    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.

    Setup Wizard Verify license key

    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.

    Finish Setup Wizard

    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 email sending 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
    • Verify your domain is fully authorized in SendLayer (green checkmark)
    • Make sure your sender email uses your authorized domain
    • 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
    • Ensure your sender email matches your authorized domain
    • 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.

    Email logging in Easy WP SMTP

    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
    • 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.

    • 200 Free Emails
    • Easy Setup
    • 5 Star Support

    Ready to send your emails in the fastest and most reliable way? Get started today with the most user-friendly and powerful SMTP email delivery service. SendLayer Business includes 5,000 emails a month with premium support.