How to Fix WordPress Not Sending Emails

Estimated reading: 5 minutes

WordPress sends emails for important website activities, including password resets, contact form submissions, order confirmations, user registrations, and system notifications.

If these emails are not delivered, visitors may miss important information, users may be unable to reset their passwords, and administrators may not receive website notifications.

This guide explains the most common causes of WordPress email delivery issues and how to resolve them.

Common Symptoms

You may experience one or more of the following:

  • Password reset emails are never received.
  • Contact form messages are not delivered.
  • WooCommerce order emails fail to send.
  • New user registration emails are missing.
  • WordPress reports that an email was sent, but the recipient never receives it.

Common Causes

WordPress email issues are typically caused by one of the following:

  • SMTP is not configured.
  • PHP mail() is disabled by the hosting provider.
  • Outbound SMTP ports are blocked.
  • Incorrect SMTP credentials.
  • Missing SPF, DKIM, or DMARC records.
  • Firewall or security rules blocking email traffic.
  • Email sending limits have been exceeded.
  • Plugin or theme conflicts.

Why Shared Hosting May Block Email Sending

Many shared hosting providers restrict email sending to protect their infrastructure from spam and abuse.

Common restrictions include:

  • Blocking outbound SMTP ports such as 25.
  • Disabling or limiting PHP’s mail() function.
  • Limiting the number of emails that can be sent per hour.
  • Requiring customers to use the hosting provider’s authenticated SMTP server.

These restrictions help prevent compromised websites from sending spam emails and protect the server’s reputation.

Because of this, relying on PHP mail() is generally not recommended for production websites.

Use SMTP Instead of PHP Mail

SMTP (Simple Mail Transfer Protocol) is the recommended method for sending emails from WordPress.

Using authenticated SMTP provides:

  • Better email deliverability
  • Improved reliability
  • Secure authentication
  • Better spam protection
  • Detailed email logs
  • Support for trusted email providers

For most websites, SMTP is the preferred solution over PHP mail().

Configure an SMTP Service

WordPress can send emails through:

  • Your hosting provider’s SMTP server
  • Amazon SES
  • Mailgun
  • SendGrid
  • Postmark
  • Brevo
  • Gmail SMTP (for low-volume websites)

Use the SMTP settings provided by your email service provider.

Verify SMTP Credentials

Incorrect SMTP settings are one of the most common reasons emails fail.

Verify:

  • SMTP hostname
  • Port number
  • Encryption method (TLS or SSL)
  • Username
  • Password
  • Sender email address

Even a small typo can prevent successful email delivery.

Check Your Hosting Provider’s Email Restrictions

Some hosting providers intentionally restrict email services.

Review your hosting documentation or contact support to determine:

  • Whether PHP mail() is available
  • Which SMTP ports are allowed
  • Whether outbound SMTP connections are restricted
  • Hourly email sending limits
  • Recommended SMTP configuration

Understanding these limits can help identify the root cause of delivery failures.

Verify DNS Email Authentication

Email authentication improves deliverability and reduces the likelihood of messages being marked as spam.

Verify that your domain has valid:

  • SPF records
  • DKIM records
  • DMARC policy

Missing or incorrect DNS records may cause email providers to reject or filter your messages.

Test Email Delivery

After configuring SMTP:

  • Send a test email.
  • Verify it reaches the recipient.
  • Check the spam folder.
  • Test password reset emails.
  • Submit your contact form.
  • Verify WooCommerce notifications.

Successful delivery confirms that WordPress is communicating correctly with your mail server.

Check Spam and Junk Folders

Emails may be successfully delivered but filtered by the recipient’s email provider.

Check:

  • Spam folder
  • Junk folder
  • Promotions tab
  • Quarantine (for business email services)

If messages consistently appear in spam, review your DNS authentication records.

Review Email Sending Limits

Many hosting providers enforce hourly or daily sending limits.

High-volume websites may exceed these limits, causing emails to be delayed or rejected.

If your website sends large numbers of emails, consider using a dedicated transactional email service.

Check Plugin Conflicts

Some plugins may interfere with email functionality.

If email delivery stops after installing a new plugin:

  • Temporarily disable recently installed plugins.
  • Test email delivery again.
  • Re-enable plugins one at a time to identify conflicts.

Verify the Fix

After completing the troubleshooting steps:

  • Send a password reset email.
  • Test your contact form.
  • Register a new user account.
  • Verify WooCommerce emails.
  • Review your SMTP logs for successful delivery.

Best Practices

  • Use authenticated SMTP instead of PHP mail().
  • Configure SPF, DKIM, and DMARC records.
  • Monitor email delivery logs.
  • Keep WordPress and plugins updated.
  • Use a dedicated transactional email service for business websites.
  • Avoid sending large volumes of email from shared hosting.

Frequently Asked Questions

Why isn’t WordPress sending emails?

The most common causes are missing SMTP configuration, disabled PHP mail(), hosting restrictions, incorrect SMTP credentials, or missing DNS authentication records.

Is PHP mail() reliable?

PHP mail() works in some hosting environments, but it is generally less reliable than authenticated SMTP and is often restricted on shared hosting servers.

Why do shared hosting providers block SMTP ports?

Shared hosting providers often block or restrict outbound email to prevent spam, protect server reputation, and reduce abuse from compromised websites.

Should I use an SMTP plugin?

Yes. Configuring WordPress to use an authenticated SMTP server is the recommended approach for improving email reliability and deliverability.

Launchpad