How to Troubleshoot WordPress Email Setup and Emails – How to Set Up SMTP (Post SMTP, Mailgun, and More)
WordPress uses email to communicate important notifications and messages to administrators and users—like password resets, new user registrations, and contact form submissions.
But what happens when these emails stop working or start landing in spam? This article will show you how to troubleshoot WordPress not sending email issues and guide you through
configuring SMTP with tools like Post SMTP and Mailgun.
Table of Contents
- How Does WordPress Emailing Work?
- Troubleshooting Tips
- Default WordPress Emails Not Working
- Emails Ending Up in the Spam Folder
- WordPress Contact Forms Not Sending Email
- Fixing the WordPress Not Sending Email Issue
- Additional SMTP Tools & Best Practices
- Conclusion
- About Guru and Web Design Services
How Does WordPress Emailing Work?
WordPress utilizes PHP, a server-side software development language, to power many of its core functions. This includes sending emails through a built-in
capability that relies on the wp_mail()
function—the website’s virtual mail carrier. Under the hood, wp_mail()
usually depends
on PHP’s mail()
function to handle the actual delivery.
Anytime someone comments on a post or needs a password reset, WordPress sends out an email notification. Each email has two parts:
headers (which specify who it’s from and other metadata) and content (the actual message).
Troubleshooting Tips
There are a few potential issues that can prevent WordPress from sending emails correctly. Generally, these fall into one of the following categories:
- Default WordPress emails not being sent at all
- Emails landing in the spam folder
- WordPress contact forms failing to send email
Default WordPress Emails Not Working
If WordPress isn’t sending any default emails, you won’t receive messages when creating new users, resetting passwords, or receiving security notifications.
The first step is to check with your hosting provider. Some hosts (Cloudways, Pantheon) disable default WordPress emailing to cut down on spam. Others (SiteGround, etc.)
allow it out of the box.
An easy way to test email functionality is to install a logging or SMTP plugin and attempt to send a password reset. One recommended option is the free
Post SMTP plugin. Once installed, reset a user password: if you receive the email, then emailing is at least partially functional.
Below is a screenshot of Post SMTP’s interface:

Emails Ending Up in the Spam Folder
If messages are being sent but end up in spam, you might have:
- Poor domain reputation
- Spam-like content in the subject line or body
- Missing key technical settings (SPF, DKIM, DMARC) that affect email deliverability
To improve deliverability:
- Use a reliable email and hosting provider.
- Configure an SMTP service (more on that below).
- Avoid spammy language and excessive punctuation in email subjects and content.
- Use a tool like Mail Tester to scan emails and implement their recommendations.
WordPress Contact Forms Not Sending Email
Popular contact form plugins (e.g., Contact Form 7, WPForms, Gravity Forms) generally use WordPress’s default wp_mail()
function or SMTP settings.
If these forms aren’t sending emails, confirm first that WordPress emailing works for system messages (like password resets).
Go to Users > All Users in your WordPress dashboard and click Send Reset Link to see if the reset email arrives.
If it does, WordPress emailing is functional, and the issue might be in how the contact form is configured.
If that email doesn’t arrive, you need to fix the broader WordPress emailing issue first.
Fixing the WordPress Not Sending Email Issue
If your website’s hosting disables default mailing or if deliverability is inconsistent, an SMTP service plus a WordPress SMTP plugin is the best solution.
SMTP (Simple Mail Transfer Protocol) routes emails through a trusted mail server rather than using the default PHP mail function.
This reduces the chance that your emails will be flagged as spam or blocked outright.
Option 1: Use Elastic Email
For a quick and easy setup, sign up for Elastic Email, which offers a WordPress plugin. Their free tier is generous (up to 100 emails a day),
making it suitable for small-to-medium websites.
- Sign Up: Create an account on Elastic Email’s website.
- Authenticate Your Domain: Add the TXT and MX records they provide to your DNS settings.
- Install Their Plugin: In WordPress, search for “Elastic Email” under Plugins > Add New.
- Configure: Enter your API key or credentials in the plugin settings, and test sending an email to ensure it’s working.

Option 2: Sign Up for Amazon SES or a Similar Service
For websites that need higher throughput or cost-effective pricing, Amazon SES (Simple Email Service) can be a great choice.
This approach is slightly more advanced to set up.
- Create an Amazon Web Services (AWS) Account: Sign up for AWS, navigate to the SES console, and verify your domain.
- Update DNS Settings: Add SPF and DKIM records for the domain to ensure maximum deliverability.
- Install an SMTP Plugin (e.g., Post SMTP): Many SMTP plugins support Amazon SES with a premium license. Configure the plugin with your Amazon SES credentials.
- Test & Monitor: Send a test email and watch for any bounce or delivery metrics in the AWS dashboard.
This method might be overwhelming if you’re new to DNS settings and AWS. If you need assistance, consider hiring a professional or contacting a WordPress support agency.
Additional SMTP Tools & Best Practices
Why Use SMTP on WordPress?
SMTP ensures higher deliverability by sending your website’s emails through a reputable mail server. This means fewer emails in spam folders, more reliable messaging, and better overall communication with users.
- Higher Deliverability: Trusted mail servers reduce spam flags.
- Improved Reputation: Verified sender addresses help build credibility.
- Detailed Logs: Many plugins offer logging to track each sent email.
Other Popular SMTP Plugins and Services
- WP Mail SMTP: Supports multiple providers, including Gmail, Sendinblue, SendGrid, and Amazon SES.
- Gmail SMTP: Connects securely to Gmail or Google Workspace, but requires OAuth configuration.
- SendGrid: Offers powerful analytics and high send volumes.
- Mailgun: Specializes in bulk/transactional emails, with real-time reporting and robust APIs.

Best Practices for Any SMTP Setup
- Use Verified Domains: Configure SPF, DKIM, and DMARC records.
- Monitor Bounces & Complaints: Clean invalid addresses from lists.
- Test Across Providers: Send test emails to Gmail, Yahoo, Outlook, etc.
- Avoid Spam Triggers: Use clear subject lines and legit content.
Conclusion
Troubleshooting WordPress email issues can be daunting, but it’s important to address them. Your website relies on email for security updates, user notifications,
password resets, and potential future newsletters. If your default WordPress email isn’t working—or if emails are hitting the spam folder—talk to your hosting provider
and consider using an SMTP service.
Our top recommendations for improving email delivery include:
- Using a reliable hosting provider
- Implementing an SMTP plugin (e.g., Post SMTP) and service (e.g., Elastic Email, Amazon SES, Mailgun)
- Properly configuring DNS settings (SPF, DKIM, DMARC)
- Avoiding spammy or misleading email content
By taking these steps, you’ll significantly boost the reliability of your WordPress emails, ensuring they arrive in the right inbox at the right time.
Need Help with Web Design, Hosting, or SEO?
Struggling with your website? Whether you need stunning web design, content writing which drives traffic, fast and secure web hosting, fixing technical issues, or boosting your Google rankings with SEO, or increasing your Google Business Profile rankings with Local SEO, we’ve got you covered! At Guru SEO and Web Design, we specialize in optimizing your Comprehensive Digital Marketing Solutions for higher traffic, better conversions, and local dominance.