Getting your WordPress website to reliably send emails is essential for contact forms, ecommerce receipts and password resets. However, many site owners run into a frustrating problem: WordPress email not sending. You publish a form or set up a newsletter, only to find that messages never arrive or end up in the spam folder. This guide explains why the default WordPress mail system fails, how to configure SMTP correctly and what else you can do to ensure your emails reach inboxes every time.
If you’ve struggled with other site errors, check our earlier guides on fixing internal server & database errors, resolving the white screen of death and fixing WordPress login loops. This post focuses specifically on email delivery issues and how you can resolve them with SMTP.
Why WordPress Emails Don’t Send
WordPress uses the wp_mail()
function to send emails. By default this relies on your server’s basic PHP mail()
function, which lacks modern authentication and is often blocked by hosting providers. Here are the most common reasons WordPress fails to deliver emails:
Incorrect “From” address or email settings. Using a generic or mismatched address (for example, your visitor’s address from a contact form) can trigger anti‑spam filters and cause your messages to be rejected.
Server restrictions and lack of authentication. Many shared hosts disable mail functions or limit sending. The default PHP mail function does not use SPF or DKIM authentication, so providers like Gmail, Outlook and Yahoo may treat messages as spam.
Emails flagged as spam. Without proper DomainKeys (SPF, DKIM and DMARC) records and a legitimate sender domain, email providers will assume your messages are spoofed and send them to the junk folder.
Plugin or theme conflicts. Conflicting plugins may hook into
wp_mail()
and alter the headers or content, causing delivery failures.Hosting configuration issues. Some hosting accounts aren’t configured to send mail or block outgoing ports. If your server rejects the mail request, WordPress silently fails.
Because the standard WordPress mailer doesn’t provide authentication or retry mechanisms, even correctly configured sites may see messages vanish. The solution is to bypass mail()
entirely and deliver emails via an authenticated Simple Mail Transfer Protocol (SMTP) connection.
How to Fix WordPress Email Delivery with SMTP
SMTP is the industry standard for sending emails. When you connect WordPress to a dedicated SMTP service, messages are authenticated using your domain’s credentials and delivered through a proper mail server. The process involves choosing an SMTP plugin, selecting a mailer, configuring your credentials and running a test. Here are the steps:
1. Install an SMTP Plugin
While there are many options, WP Mail SMTP is one of the most popular because it integrates with services like Gmail, Outlook, SendGrid, Amazon SES and Mailgun. To install it:
In your WordPress dashboard, navigate to Plugins → Add New and search for “WP Mail SMTP.”
Click Install Now and then Activate. The setup wizard will prompt you to configure your mailer.
Alternatives include FluentSMTP, Post SMTP or Easy WP SMTP; choose one based on your preferred mail provider and feature requirements.
2. Choose a Mailer
Next, decide which SMTP service will send your emails. Common choices include:
Google Workspace (Gmail). Ideal for low‑volume sites. Requires creating an app password in your Google account and enabling SMTP access.
Microsoft 365/Outlook. Similar to Gmail; you’ll create an app password and use
smtp.office365.com
on port 587 with TLS.SendGrid, Mailgun or Amazon SES. These services offer higher sending limits and better analytics. You’ll need to generate API keys or SMTP credentials in your provider’s dashboard.
The plugin will present you with a list of providers. Select your mailer and follow the on‑screen instructions to connect your account.
3. Enter SMTP Credentials
Regardless of provider, you’ll need to supply:
SMTP Host. The server address, such as
smtp.gmail.com
orsmtp.mailgun.org
.SMTP Port. Use 587 for TLS/STARTTLS or 465 for SSL; avoid port 25 because it’s often blocked.
Username and Password. This is the email account or API user and its password or API key.
Encryption and Authentication. Enable TLS or SSL and allow the plugin to authenticate using your credentials.
Enter these details in the SMTP plugin’s settings screen. If your provider offers an API option (for example, SendGrid), choose API authentication instead of SMTP credentials; it’s more secure.
4. Set the “From” Email and Name
Configure a from address that matches your domain, such as info@yourdomain.com
. This ensures the message appears legitimate and passes SPF and DKIM checks. Avoid using visitors’ addresses or free webmail addresses in the “From” field. You can also specify a friendly “From Name” (e.g., “Datronix Tech Support”).
5. Configure Domain Authentication (SPF, DKIM and DMARC)
For maximum deliverability, add TXT records to your domain’s DNS zone:
SPF identifies which mail servers are permitted to send on behalf of your domain.
DKIM signs outgoing messages to prove that they haven’t been altered.
DMARC instructs providers how to handle messages that fail SPF/DKIM checks.
Your SMTP provider will supply the exact DNS entries. Configuring these records helps prevent spoofing and reduces the chance of your emails being flagged as spam.
6. Send a Test Email
Most SMTP plugins include a “Send Test Email” feature. Enter a recipient address (for example, your own inbox) and click Send Test. If the setup is correct, you should receive the message. If not, double‑check your credentials, ports and domain authentication settings.
Additional Tips for Reliable Email Delivery
Beyond configuring SMTP, follow these best practices to ensure that your WordPress emails reach their destinations:
Use a professional email address. Stick to addresses like
info@yourdomain.com
rather than generic Gmail addresses.Avoid spam trigger words in subject lines and content. Words like “Free,” “Winner” or “Act now” can cause filters to flag your messages.
Limit the number of recipients. Sending emails to a large BCC list can look like spam. Use a newsletter service for bulk mailings.
Check plugin conflicts. If emails still don’t send, disable other plugins that modify emails (e.g., security or form plugins) to isolate conflicts.
Keep WordPress and plugins updated. Outdated software can introduce bugs or compatibility issues.
Monitor your email logs. Many SMTP plugins provide logging. Reviewing logs helps identify deliverability issues and error messages.
Frequently Asked Questions
Why doesn’t WordPress send emails by default? WordPress uses the basic PHP mail()
function, which doesn’t authenticate and is often blocked by hosts. As a result, many providers treat messages sent via mail()
as spam.
Do I need to pay for an SMTP service? No. Gmail and Outlook offer free quotas, and services like SendGrid or Mailgun provide generous free tiers. For high‑volume sites, a paid plan may be necessary.
What’s the difference between SMTP and API email providers? SMTP uses traditional mail server credentials. API‑based services communicate via HTTPS and often provide better performance and security. Many plugins support both.
How do I fix contact forms not sending emails? Ensure the form uses a valid “From” address belonging to your domain. Some form plugins allow you to set the from address separately from the reply‑to address. Configure your SMTP plugin to handle all outgoing mail, and avoid using visitors’ emails as the sender.
Do I still need SPF/DKIM if I’m using SMTP? Yes. SMTP ensures authenticated delivery from your server to the mail provider, but SPF and DKIM tell other servers that your domain authorizes those messages.
Conclusion
Getting WordPress to send reliable emails doesn’t have to be hard. The key is to understand that the built‑in mail()
function is limited and to route all messages through a proper SMTP service instead. By installing an SMTP plugin, connecting it to a mail provider, configuring your from address and DNS authentication records, you’ll dramatically improve deliverability. Don’t forget to test your setup and monitor logs for ongoing assurance.
Email issues can cost you leads, orders and customer trust. If you need help configuring SMTP or auditing your WordPress site’s email deliverability, Datronix Tech offers expert support and can set up a bulletproof mail system tailored to your needs. Reach out today to ensure your messages arrive on time, every time.