WordPress SMTP Setup: Fix Missing Site Emails

To fix missing WordPress emails, install an SMTP plugin, connect a sending provider, authenticate your domain, and send a test message. WordPress SMTP replaces your server’s default mail route with an authenticated connection for password resets, contact forms, and other notifications.

A successful send doesn’t guarantee inbox placement, though. Start by separating connection problems from the authentication issues that send otherwise valid messages to spam.

Key Takeaways

  • You can configure basic email sending with the free version of WP Mail SMTP.
  • Use port 587 with TLS unless your provider requires another supported combination.
  • SPF and DKIM matter even after your SMTP connection works.
  • Test actual forms and password resets, because a plugin test doesn’t prove every notification is enabled.

Why WordPress Emails Go Missing

By default, WordPress sends through the wp_mail() function, which uses PHPMailer and your server’s PHP mail function (mail()). This route doesn’t automatically authenticate with a dedicated SMTP account.

Your host may restrict mail, lack a properly configured mail server, or share an IP address with senders who have poor reputations. As a result, messages can disappear or reach spam.

A server room with a glowing envelope transferring from a secured relay node into an inbox unit.

An SMTP plugin redirects those messages through authenticated SMTP or a provider API. This also matters for emergency access: WordPress Recovery Mode emails depend on working delivery to send you a recovery link.

Choose Your SMTP Plugin and Mailer

Pick one plugin to manage sending

WP Mail SMTP reconfigures wp_mail() to use your selected provider. Its free version handles basic sending; paid Pro upgrades add email logs, backup connections, and email alerts.

FluentSMTP includes free email logging and routing features. Post SMTP offers free sending and diagnostic tools, with additional paid features. Easy WP SMTP provides a simpler free configuration.

Icegram Express combines email sending with newsletter tools. Gravity SMTP requires an active Gravity Forms Elite or Nonprofit license.

Activate only one plugin that controls outgoing mail. Competing mailers can overwrite each other’s configuration.

Choose a provider for your sending volume

For routine site notifications and other transactional emails, choose a reputable SMTP provider. Brevo and Mailgun both offer ongoing free allowances.

ProviderFree allowanceUseful distinction
Brevo300 emails dailyDaily allowance doesn’t roll over
Mailgun100 messages dailyCurrent free tier, not older promotional offers
GmailAccount-dependent sending limitsBetter for low-volume testing than bulk sending

SendGrid is another option. Check its current plan limits and domain-authentication requirements before choosing it.

Treat SMTP.com’s 50,000 emails in the first 30 days as a trial offer, not a permanent free allowance. Likewise, older references to Mailgun’s first 1,500 free messages don’t describe its current daily quota.

If you choose Brevo’s WP Mail SMTP integration, you can use the named mailer instead of entering generic SMTP settings. Provider API connections are also useful when your host blocks SMTP ports.

1. Install WP Mail SMTP and Set Your Sender

Install the plugin

In your dashboard, open Plugins > Add New Plugin, search for “WP Mail SMTP,” and install the plugin by WPForms. Activate it, then open WP Mail SMTP > Settings.

You can follow the Setup Wizard or configure the fields directly. If you use the Setup Wizard, verify the provider-specific fields before saving. Select your provider’s named mailer when available. Otherwise, choose Other SMTP.

Before changing an existing setup, record its settings. Then deactivate any other SMTP plugin so only one controls delivery.

Configure From Email, From Name, and Return-Path

Set From Email to an address your provider authorizes. For a branded site, use your own authenticated domain. Set From Name to the name visitors recognize.

Enable Force From Email so forms don’t substitute visitors’ addresses. Instead, put the visitor’s address in Reply-To. Our Contact Form 7 Reply-To guide covers that configuration.

For Other SMTP, enabling Return-Path asks the plugin to match it to From Email, directing bounce notifications there. Some providers replace this with their own bounce-handling address.

2. Enter Your WordPress SMTP Settings

For the Other SMTP mailer, enter your provider’s connection credentials.

FieldWhat to enter
SMTP HostYour provider’s SMTP server hostname
EncryptionTLS for port 587, or SSL for port 465
SMTP PortUsually 587
AuthenticationOn
SMTP UsernameUsually your full email address
SMTP PasswordSMTP credential or eligible app password

Port 587 is the standard submission port and normally negotiates TLS encryption through STARTTLS. Port 465 starts with implicit TLS, labeled SSL in many plugins. Both provide encryption when configured correctly.

A network gateway and metal key on a wooden shelf with a router and window in the background.

For Gmail, use smtp.gmail.com, port 587, TLS, and your full Gmail address. The Gmail SMTP settings also support port 465 with implicit TLS.

Prefer the Gmail/Google Workspace mailer’s OAuth connection. With Other SMTP, eligible Google accounts need an app password after enabling 2-Step Verification, not their normal password.

Mailtrap uses live.smtp.mailtrap.io for transactional messages and bulk.smtp.mailtrap.io for bulk sending. Use username api, your sending token as the password, and port 587/TLS or 465/SSL.

For file-based credentials, enable WPMS_ON in wp-config.php, then define WPMS_SMTP_USER and WPMS_SMTP_PASS. This moves credentials outside dashboard configuration, but doesn’t encrypt them. Protect the file and exclude credentials from public repositories.

Save your changes.

3. Authenticate Your Sending Domain

SMTP authentication authorizes your connection to the provider. Domain authentication helps receiving servers assess whether that provider can send for your domain.

In your provider’s domain settings, obtain its SPF and DKIM DNS records. Then add them at your authoritative DNS provider, which may differ from your registrar or web host.

SPF authorizes sending infrastructure. DKIM adds a cryptographic signature that recipients can validate. Copy each record’s type, hostname, and value exactly.

If your domain already has an SPF record, merge the provider’s required mechanism into that record. Don’t publish two SPF records for the same hostname.

DMARC adds an alignment policy and reporting for your domain. Begin with monitoring while you establish legitimate sending sources. This email authentication walkthrough connects these records with WordPress sending.

Without SPF and DKIM, email deliverability can suffer even when the SMTP connection succeeds.

4. Send a Test Email and Exercise Real Notifications

Open WP Mail SMTP > Tools > Email Test, or the Email Test tab in your installed version. Enter an inbox you control, then click Send Email.

The plugin testing procedure reports whether the sending attempt succeeded. Then inspect the destination inbox and spam folder.

A successful test means the sending service accepted the message. It doesn’t prove that the recipient placed it in the inbox.

Next, submit your contact form and request a password reset for a test account. If your site accepts registrations, test that workflow too.

When only registration messages fail, inspect your new-user notification settings. A plugin or snippet may have disabled them.

On staging, restrict delivery to controlled test inboxes. Don’t let a copied site send duplicate customer notifications.

Troubleshoot Failed Tests and Missing Messages

Fix connection failures first

A timeout or “Could not connect to SMTP host” usually points to the hostname, port, firewall, or outbound hosting restrictions.

Compare the configured hostname and encryption pair with your account’s SMTP credentials. Don’t pair port 465 with STARTTLS or port 587 with implicit SSL.

Ask hosting support to test outbound TCP connections from your web server to the SMTP hostname on ports 587 and 465. A successful test from your laptop doesn’t establish server access.

If both ports are blocked, use an available provider API mailer over HTTPS. Don’t disable certificate verification to bypass TLS errors.

Resolve authentication and delivery errors

An “Authentication failed” response or SMTP code 535 points to credentials or account restrictions. Use the SMTP-specific password or token, and remove accidental spaces.

If Gmail rejects authentication, reconnect OAuth or generate an eligible app password. If you receive “sender rejected,” use an authorized From address.

For accepted messages that never arrive, inspect provider events for bounces, suppression, or quota exhaustion. Then examine the received message’s authentication headers for SPF, DKIM, and DMARC results.

If tests succeed but forms fail, inspect form recipients and notification settings. Diagnose plugin conflicts on staging before disabling live checkout or membership features.

WordPress SMTP FAQ

Do you need WP Mail SMTP Pro?

No. The free plugin supports basic sending through supported mailers and Other SMTP. Choose a paid upgrade when you need features such as retained email logs, backup connections, or alerts. Your sending provider’s charges are separate from the plugin license.

Must you store the password in wp-config.php?

No. Dashboard configuration works for basic setup. Constants are useful when you want credentials controlled through server configuration rather than editable plugin settings. However, anyone with sufficient server access can still read them, so file permissions and protected backups remain important.

Make Email Delivery Part of Your Site Maintenance

A reliable WordPress SMTP setup needs an authenticated connection, an authorized sender, and working domain authentication. Keep those pieces aligned when you change hosts, domains, or email providers.

After setup, test a real notification alongside the plugin’s test message. Repeat that delivery check after major configuration changes, before a missing password reset or recovery link becomes urgent.

Picture of Andy Feliciotti

Andy Feliciotti

Andy has been a full time WordPress developer for over 15 years. Through his years of experience has built 100s of sites and learned plenty of tricks along the way. Found this article helpful? Buy Me A Coffee

Leave a Reply

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

WordPress Tips Monthly
Get the latest from SmartWP to your inbox.