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, 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.

Choosing an SMTP Service in 2026

This part of the landscape has genuinely shifted, and it’s worth being specific about current terms rather than repeating what used to be true. You need an SMTP provider to route your emails through:

  • Brevo (formerly Sendinblue): still offers a genuinely permanent free tier — 300 emails per day, roughly 9,000 per month, with no expiry date on the offer. For a new or low-traffic site’s contact-form and password-reset volume, this comfortably covers it and remains the simplest starting point.
  • SendGrid: Twilio discontinued SendGrid’s permanent free plan on 27 May 2025. New accounts now get a 60-day trial capped at 100 emails per day, after which you’re moved to a paid Email API plan starting at $19.95/month. If you’re setting up SMTP for the first time in 2026, this is no longer the free option it used to be — factor the eventual $19.95/month into your decision, or skip straight to Brevo.
  • 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 in 2026, Brevo’s free tier is the simplest starting point precisely because SendGrid no longer offers a comparable permanent option — the setup is quick and the credentials are easy to locate in the dashboard.

How to Set Up WordPress SMTP

Step 1 — 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 2 — 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 3 — 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 4 — 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.

If your site’s daily email volume ever exceeds Brevo’s 300-a-day free ceiling — a busy contact form plus password resets plus WooCommerce order emails can add up faster than expected on a growing store — check Brevo’s own paid tiers before assuming you need to switch providers entirely; WP Mail SMTP’s configuration doesn’t need to change, only the plan.

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.

Assuming SendGrid is still a free option. Plenty of older tutorials and forum answers still describe SendGrid’s old permanent free tier, which stopped existing in May 2025. If a guide you’re reading doesn’t mention the 60-day trial limit, it’s out of date.

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, as long as you pick a provider whose free tier is actually still free in 2026.