How to Set Up SMTP in WordPress So Contact Form Emails Don’t Go Missing

When a visitor submits your contact form and you never hear from them, the form isn’t broken — WordPress is. By default, WordPress sends emails using the PHP mail function built into the server. Most shared hosting providers block or heavily throttle this method because it’s easily abused by spammers. The result: your emails disappear silently, with no error and no indication anything went wrong.

SMTP (Simple Mail Transfer Protocol) is the standard protocol email services actually use. Connecting WordPress to a proper SMTP service — one that authenticates your emails and sends them through a verified channel — solves the deliverability problem permanently. If you’re working through the step-by-step process of building a WordPress website, this is a task worth completing before your site goes live.

Setting this up takes about 15 minutes. If you’ve added a contact form but the emails aren’t arriving, or your password reset emails aren’t delivering, this is the fix.

Quick Answer

Install WP Mail SMTP, sign up for a free SMTP service such as Brevo or SendGrid, enter your SMTP credentials into the plugin settings, and send a test email to confirm delivery. Once configured, all WordPress emails route through the SMTP service instead of PHP mail.

Why WordPress Emails Fail

WordPress uses a built-in function called wp_mail() to send all emails. By default, this calls the PHP mail() function, which depends on your server’s local mail configuration. On most shared hosting environments, that configuration either doesn’t work reliably, has rate limits that cause dropped emails, or sends from IP addresses that receiving mail servers treat as spam sources.

The problem is invisible from WordPress’s side — the email appears to send successfully because the function returns true. The failure happens later, when the receiving mail server rejects or discards the message. This is why your contact form shows a success message while nothing arrives in your inbox.

SMTP authentication solves this by routing emails through a trusted service with proper sender verification, DKIM and SPF records, and an established sending reputation.

How to Set Up WordPress SMTP

Step 1 — Choose an SMTP Service

You need an SMTP provider to route your emails through. For a new or low-traffic site, these free options work well:

  • Brevo (formerly Sendinblue): 300 emails per day on the free tier. A reliable starting point for contact forms and transactional emails.
  • SendGrid: 100 emails per day on the free tier. Solid deliverability and straightforward setup.
  • Google Workspace SMTP: The most dependable option if you already have a professional email address on your domain. Standard Gmail accounts have limited SMTP support.

For most sites I build, Brevo’s free tier is the simplest starting point — the setup is quick and the credentials are easy to locate in the dashboard.

Step 2 — Install WP Mail SMTP

WP Mail SMTP is the most widely used plugin for handling WordPress email configuration, with over four million active installations. In your WordPress dashboard, go to Plugins → Add New, search for “WP Mail SMTP”, and install and activate it.

Once active, a setup wizard launches automatically. You can use it or skip to the manual settings under WP Mail SMTP → Settings.

Step 3 — Configure the Mailer

In the plugin settings, select your SMTP provider under Mailer. WP Mail SMTP has built-in integrations for Brevo, SendGrid, Gmail, and others. If your provider isn’t listed, select Other SMTP and fill in the fields manually:

  • SMTP Host: Your provider’s outgoing mail server (e.g., smtp-relay.brevo.com for Brevo)
  • Encryption: TLS is standard for most providers
  • SMTP Port: 587 for TLS, 465 for SSL
  • Authentication: On
  • SMTP Username: Usually your registered email address or account login
  • SMTP Password: An API key or app password from your provider — not your regular account password

Set the From Email to the same address you’re authenticating with. A mismatch between the From address and the authenticated sender is a common cause of delivery failures.

Step 4 — Get Your SMTP Credentials

Log into your SMTP provider’s dashboard and find the credentials section. In Brevo, these are under SMTP & API → SMTP. Copy the SMTP server address, login, and password (which is an API key, not your account password) into the plugin settings and save.

Step 5 — Send a Test Email

In WP Mail SMTP, click the Email Test tab, enter an address you can check immediately, and send the test. If it arrives, your configuration is working. Check your spam folder if it doesn’t appear in your inbox — the first email from a new SMTP account sometimes lands there while the service builds sending reputation.

Once the test passes, submit your contact form from the frontend and confirm that email also arrives. They use different trigger paths and both are worth verifying.

Practical Tips

Use an email address on your own domain (hello@yourdomain.com) rather than a personal Gmail as the From address. This improves deliverability and looks professional to anyone replying.

If you have automated thank you emails or WooCommerce order notifications configured, test those specifically after setting up SMTP — they’re triggered differently from contact form submissions and occasionally need a separate check.

Most connection failures are caused by a port or encryption mismatch, or by using your account password where an API key is required. If the test email fails, start there before checking anything else.

Common Mistakes

Using a standard Gmail account for SMTP. Google has restricted direct SMTP access for regular accounts. Unless you’ve set up App Passwords with 2FA enabled — a process that’s changed several times — standard Gmail SMTP is unreliable. A dedicated SMTP service is more straightforward for WordPress.

Setting the From email to a different address than the one authenticated. If the SMTP credentials belong to hello@yourdomain.com but the From field shows a different address, the email will either fail or land in spam. Keep them consistent.

Forgetting to test after saving settings. WordPress doesn’t warn you if SMTP is misconfigured — it silently falls back to PHP mail in some setups, and the problem continues undetected. The test email step is not optional.

SMTP Plugin vs Hosting Email

Some managed WordPress hosts include built-in email routing or a configured SMTP server as part of the hosting package. Check your hosting control panel before setting up a third-party service — you may already have a working solution that just needs to be enabled.

For standard shared hosting without this feature, an external SMTP service via a plugin is the reliable fix. It also has the advantage of being host-independent — if you ever migrate your site, your email configuration moves with it rather than being tied to the host’s mail server.

Conclusion

Install WP Mail SMTP, connect it to a free SMTP provider, and send a test email. That’s the full fix for WordPress emails not arriving. It takes 15 minutes and removes one of the most common and confusing problems on new WordPress sites — permanently.