How to Fix WordPress Not Sending Emails?

Flat illustration showing how to fix WordPress not sending emails using SMTP and avoid spam folder issues

Fix WordPress Not Sending Emails

Are you facing issues where your WordPress website isn’t sending emails, or worse — your contact form emails are landing in the spam folder? You’re not alone. This is one of the most common problems WordPress site owners face, especially on shared hosting platforms.

In this guide, based on my YouTube video with over 11,000 views, I’ll walk you through exactly how to fix the WordPress not sending emails problem and make sure your messages land in the inbox — not the spam folder. Whether you’re running a blog, an eCommerce site, or a business site, reliable email delivery is critical.

Why WordPress Doesn’t Send Emails by Default

WordPress relies on the default wp_mail() function, which often uses PHP’s mail() function to send emails. The problem? Most web hosts don’t configure PHP mail correctly, or receiving servers (like Gmail) flag it as unauthenticated spam.

That’s why many users experience the WordPress not sending emails issue right after launching their site. Even when your contact form or WooCommerce emails are set up, they may never reach your recipient.

That’s where SMTP comes in.

Step 1: Install an SMTP Plugin

To properly send emails from WordPress, you need to use SMTP (Simple Mail Transfer Protocol). SMTP authenticates your email and ensures it’s trusted by receiving servers. This is the key to fixing the WordPress not sending emails problem.

I recommend installing one of the following plugins:

In the video, I use WP Mail SMTP which is beginner-friendly and well-documented.

  1. Go to Plugins → Add New
  2. Search for WP Mail SMTP
  3. Click Install and then Activate

Step 2: Configure SMTP Settings

Once the plugin is activated, follow these steps:

  1. Go to WP Mail SMTP → Settings
  2. Enter your email address (e.g. yourname@yourdomain.com)
  3. Choose your mailer:
    • Gmail (OAuth setup)
    • Sendinblue / Brevo (recommended for free emails)
    • SMTP (use any SMTP service like Mailgun, SendGrid, etc.)

Example SMTP Settings (Brevo / Sendinblue):

  • SMTP Host: smtp-relay.sendinblue.com
  • Port: 587
  • Encryption: TLS
  • Username: your email
  • Password: SMTP key or app password

This SMTP configuration is what solves the root cause behind WordPress not sending emails.

Save changes once done.

Step 3: Verify Email Deliverability

After configuration:

  1. Go to WP Mail SMTP → Tools → Email Test
  2. Enter your email address and click Send Email

Check your inbox. If it lands there — boom, fixed! ✅

Still not working?

  • Double-check SPF, DKIM, and DMARC records in your DNS settings
  • Make sure you’re using a domain-based sender email
  • Avoid using free Gmail or Yahoo addresses

You want to eliminate every reason for email clients to mark your messages as unverified. This is essential when fixing WordPress not sending emails.

Bonus: How to Avoid the Spam Folder

Even with SMTP configured, spam filters can still cause issues. Here are expert tips to boost your deliverability:

  • ✅ Use a professional domain-based email (e.g. info@yourdomain.com)
  • ✅ Set proper SPF, DKIM, and DMARC records in your DNS settings
  • ✅ Avoid spammy language in your subject line and body content
  • ✅ Add reply-to headers and clear sender names
  • ✅ Use a consistent “From” email address for all notifications

You can check your domain’s email reputation using tools like:

These tools will help you identify issues that may be causing your WordPress emails to go to spam.

Embed: Watch the Full Video Tutorial

This post is based on the full step-by-step walkthrough in the video above. If you prefer visuals, hit play and follow along to fix WordPress not sending emails with SMTP.

Still Not Working? Need Help?

If you’re still struggling with SMTP setup, DNS records, or email issues on your WordPress site, feel free to contact me. I offer affordable troubleshooting and setup support to ensure your emails land in the inbox, not the junk folder.

This is especially important if you’re running an online store, a contact-heavy service, or an email-based lead gen funnel. The longer you leave it unfixed, the more leads and trust you lose.

Final Thoughts

Fixing WordPress not sending emails is usually a matter of switching from the default PHP mail function to a trusted SMTP service. It improves deliverability, builds sender reputation, and keeps your communication professional.

Once set up, your site’s emails will be:

  • Authenticated
  • Properly routed
  • Much more likely to land in the inbox

Let’s make sure your contact forms actually work — and your leads don’t end up in spam ✉️

If you’re looking for a code-only method to solve this issue, check out our guide on how to fix WordPress not sending emails without a plugin — ideal for developers and site owners who prefer performance-first solutions. Also, if you’re comparing CMS platforms before committing, read our full breakdown on WordPress vs Shopify to see which one fits your needs best.

Frequently Asked Questions

WordPress may fail to send emails due to disabled PHP mail() functions on the server, missing SMTP configuration, or improper DNS records like SPF and DKIM.

Check your SMTP settings, ensure the wp_mail() function is working, and confirm that your email address matches your domain to avoid being marked as spam.

By default, WordPress uses PHP mail(), but for reliable email delivery, SMTP is recommended to avoid spam filters and improve authentication.

Yes, you can manually configure SMTP by editing functions.php and wp-config.php to securely send emails without adding plugins.

Use a test script with wp_mail() or services like Mailtrap.io to confirm if emails are leaving your server and reaching inboxes.

Emails go to spam when proper authentication (SPF, DKIM, DMARC) is missing or when sending from generic email providers like Gmail without SMTP setup.

Popular SMTP services include SendGrid, Mailgun, Gmail (with app passwords), and SMTP2GO. Choose based on deliverability, security, and pricing.

Define SMTP credentials in wp-config.php and use the phpmailer_init hook in functions.php to route emails through your SMTP server.

Yes. Incorrect or missing SPF, DKIM, or DMARC DNS records can cause email rejection or spam filtering. Always verify them with your domain host.

After migration, verify email settings, reconfigure SMTP if needed, and check if the new host blocks outbound mail functions or specific SMTP ports.

Leave a Reply

Your email address will not be published. Required fields are marked *

    Branding Design Development Front-End Website-Redesigning Shopify-Development WordPress-Development
    Branding Design Development Front-End Website-Redesigning Shopify-Development WordPress-Development
    We love crafting unforgettable
    digital experiences, brands and websites with people like you.
    Follow us:
    Let’s get started
    We'd love to hear about your project.
    © 2025 babarilyas. All rights reserved.