WordPress Not Sending Email? SMTP, DNS, Forms, WooCommerce, and Deliverability Fixes (2026)

Troubleshoot WordPress email not sending with a step-by-step SMTP, DNS authentication, contact form, WooCommerce, password reset, logging, and deliverability checklist.

WordPress not sending email
WordPress Not Sending Email? SMTP, DNS, Forms, WooCommerce, and Deliverability Fixes?

When WordPress is not sending email, the failure can happen in four places: WordPress never creates the message, a plugin blocks or misroutes it, the host refuses to send it, or inbox providers reject or filter it.

The fix is not “try another contact form plugin” first. Start by identifying which email failed, then move to a proper sender setup with authenticated DNS and repeatable tests.

Quick Diagnosis

Use this table to narrow the problem before changing plugins.

SymptomLikely causeFirst check
Password reset never arrivesWordPress sending path is brokenSend a test email from an SMTP plugin
Contact form says sent but inbox is emptyForm recipient or mailer issueCheck form notification settings and mail logs
WooCommerce order emails missingDisabled template, wrong recipient, or sender issueReview WooCommerce email settings and place a test order
Emails arrive in spamWeak authentication or reputationCheck SPF, DKIM, DMARC, From domain, and content
Some emails send but others failPlugin-specific notification settingsTest each plugin type separately
Admin emails work but customer emails failRecipient filtering, template, or suppressionCheck logs and customer email address status

Do not rely on one test. Test password reset, contact forms, WooCommerce, admin notifications, and any membership or booking plugin that sends email.

Why WordPress Email Fails

WordPress uses wp_mail(), which usually passes messages to the server’s mail function unless a plugin changes the route. That default path can be unreliable because:

  • The host may block or throttle PHP mail.
  • Messages may not be authenticated with the sending domain.
  • Shared hosting IPs may have poor reputation.
  • The From address may not match the website domain.
  • Failures may be silent unless logging is enabled.
  • Multiple plugins may override the same email behavior.
  • DNS records may be missing or misaligned.

The long-term fix is to send through a dedicated SMTP or API mailer and verify the domain.

Step 1: Confirm the Failure Type

Create a short test matrix:

TestWhy it matters
Password resetConfirms core WordPress mail
New user notificationConfirms admin and account mail
Contact form submissionConfirms form plugin notifications
WooCommerce test orderConfirms customer and store order email
Failed order or refundConfirms less common transactional templates
SMTP plugin test emailConfirms connection to the mailer

Record whether each message is delivered, missing, delayed, or sent to spam. This tells you whether the issue is global or limited to one plugin.

Step 2: Install an SMTP or API Mailer

Use a plugin such as WP Mail SMTP or another reputable WordPress mailer. The plugin should let you route WordPress email through a sender such as Brevo, SMTP.com, SendGrid, Mailgun, Gmail, Amazon SES, or another provider that supports authenticated sending.

Basic setup:

  1. Install the mailer plugin.
  2. Choose a provider supported by the plugin.
  3. Connect with an API key, OAuth, or SMTP credentials.
  4. Set a From Email that uses your domain.
  5. Set a From Name that matches the site or brand.
  6. Enable force-from settings only after confirming it will not break plugins.
  7. Send a test email.

API mailers are often easier to monitor than raw SMTP credentials because they can provide clearer errors and event logs. SMTP still works when it is configured correctly.

Step 3: Verify Sender and DNS Authentication

Most “WordPress emails go to spam” issues come down to identity.

Check:

  • The From domain is the same domain or verified subdomain you control.
  • SPF includes the service that sends WordPress mail.
  • DKIM is enabled for the sending service.
  • DMARC exists and aligns with your sender setup.
  • The From address is not a free mailbox such as Gmail or Yahoo for business email.
  • The reply-to address is monitored.

After adding DNS records, wait for propagation and retest. A correct DNS panel is not proof until real messages authenticate in inbox headers.

Step 4: Fix Contact Form Emails

Contact form plugins often have their own notification settings.

Checklist:

  • Confirm the form notification is enabled.
  • Make sure the “To” address is correct.
  • Use a From address on your domain, not the visitor’s email.
  • Put the visitor email in Reply-To instead.
  • Check required fields and spam protection settings.
  • Disable duplicate notifications while testing.
  • Test with a non-admin email address.

If the SMTP test passes but contact form email fails, the issue is usually in the form configuration, not the sender.

Step 5: Fix WooCommerce Emails

WooCommerce has separate templates and recipients for different events.

Check:

  • Go to WooCommerce email settings and confirm each required email is enabled.
  • Review the recipient field for admin emails.
  • Place a real test order with a test product.
  • Test processing, completed, refunded, and failed order states.
  • Confirm guest checkout emails and account emails both send.
  • Check whether another plugin customizes WooCommerce email templates.
  • Review logs for failed API or SMTP responses.

If customers do not receive order email, treat it as a revenue and support issue. Fix transactional delivery before launching marketing campaigns.

Step 6: Resolve Emails Going to Spam

Spam placement usually needs several improvements, not one magic setting.

Start here:

  • Authenticate the domain with SPF, DKIM, and DMARC.
  • Use a consistent From name and From address.
  • Avoid sending from a domain that has never warmed up if volume is high.
  • Remove broken links, URL shorteners, and misleading subject lines.
  • Keep attachments out of routine WordPress notifications where possible.
  • Monitor bounce and complaint signals in the sending platform.
  • Separate marketing email from transactional WordPress email if volume or reputation differs.

If email is important to revenue, do not ignore spam tests after the first successful inbox delivery. Repeat testing after theme, plugin, hosting, DNS, or sender changes.

Step 7: Check Plugin Conflicts and Hosting Rules

If the sender works but WordPress still fails inconsistently, isolate conflicts.

Safe process:

  1. Confirm backups are current.
  2. Disable other mail-related plugins temporarily.
  3. Keep only the SMTP or API mailer active.
  4. Test core WordPress email.
  5. Test contact forms.
  6. Test WooCommerce.
  7. Re-enable plugins one at a time.

Also check host-level restrictions. Some managed hosts block outbound SMTP ports or require approved mail services. If SMTP credentials fail but API sending works, hosting restrictions may be the reason.

Error Patterns and Fixes

Error or behaviorWhat to do
Authentication failedRecreate credentials and confirm username, password, API key, or OAuth connection
Connection timeoutCheck host firewall, SMTP port, SSL/TLS mode, or use API mailer
Sender not verifiedVerify the From domain or sender address in the email service
DKIM failRecopy DKIM DNS records and wait for propagation
SPF failAdd the sending service to SPF and avoid multiple SPF records
DMARC failAlign From domain with SPF or DKIM and review policy
Form sends to admin but not userCheck user notification template, merge fields, and suppression
WooCommerce admin email missingCheck template enabled status and recipient field

Monitoring After the Fix

WordPress email can break later after plugin updates, DNS edits, domain changes, or provider changes.

Monitor:

  • SMTP or API error logs.
  • Bounce rate.
  • Spam complaints.
  • Failed WooCommerce emails.
  • Contact form notification failures.
  • Password reset support tickets.
  • DMARC reports if you review them.

Set a recurring monthly test for important sites. For ecommerce, test after every major WooCommerce or checkout change.

Launch QA Checklist

Before declaring the issue fixed:

  • Password reset arrives in inbox.
  • New user email arrives.
  • Contact form admin notification arrives.
  • Contact form visitor confirmation arrives if used.
  • WooCommerce order emails arrive for admin and customer.
  • Refund, failed order, and completed order emails work.
  • Sender domain passes SPF and DKIM.
  • DMARC exists.
  • Unused mailer plugins are disabled.
  • Logs show no repeated failures.
  • The support team knows where to check email logs.

FAQ

Is WordPress email broken by default?

Not always, but the default sending path is fragile. It depends on hosting, server mail configuration, sender identity, and inbox filtering. Production sites should use a dedicated mailer.

Should I use SMTP or an API mailer?

Both can work. API mailers often provide clearer setup and logs, while SMTP is widely supported. Choose the option your plugin and email provider support best, then test it thoroughly.

Can I send from a Gmail address?

For a business website, use an address on your domain. Sending site mail from a free mailbox can create authentication and trust problems.

Why does the SMTP test work but WooCommerce still fails?

The SMTP connection may be fine while WooCommerce templates, recipients, order status triggers, or another plugin are misconfigured. Test WooCommerce-specific email events separately.

Frequently Asked Questions

Why is WordPress not sending emails?
WordPress email often fails because the default PHP mail path is unauthenticated, blocked by the host, misconfigured, or filtered by inbox providers. Plugin conflicts, wrong From addresses, DNS issues, and contact form settings can also break delivery.
How do I fix WordPress email delivery?
Install a reputable SMTP or API mailer plugin, connect it to a verified sender, use a From address on your domain, add SPF/DKIM/DMARC records, test password resets, contact forms, WooCommerce emails, and monitor logs for failures.
Why are WordPress emails going to spam?
WordPress emails commonly go to spam when the From domain is not authenticated, the sending service is not aligned with DNS records, the content looks suspicious, the domain has poor reputation, or multiple plugins are sending inconsistent mail.

Subscribe to updates

troubleshooting

Drop your email or phone number — we'll send you what matters next.

auto-detect
Get Brevo