Skip to content

WordPress guide · Updated October 2026

WordPress not sending email: get form leads to your inbox

WordPress not sending email usually means the site's mail route is failing, the sender is not authenticated, or the form is addressing messages incorrectly. Connect WordPress to an authenticated mail provider, verify your domain and test an actual submission through to your inbox. A visitor seeing a success message does not prove your team received the inquiry.

Common cause
Unreliable default PHP mail
Fix
Authenticated SMTP or provider API
Proof
Real form + inbox + headers
Safety net
Stored entries, not email alone

Written and reviewed by Fernando Marcano · October 17, 2026 · Markdown version of this page

WordPress not sending email: where it fails

WordPress normally hands messages to the server through PHP mail unless a plugin or host changes that route. Hosts may restrict it, and an unauthenticated web server may struggle to deliver to Gmail or Outlook. Messages can be rejected or filtered into spam while the website appears to work.

Default: PHP mail()
  1. Form sends
  2. wp_mail() uses the server's mail()
  3. No SPF or DKIM for your domain
  4. Spam folder or silently dropped
Fixed: authenticated SMTP or API
  1. Form sends
  2. SMTP plugin routes wp_mail()
  3. Provider signs it: SPF, DKIM, DMARC
  4. Inbox, plus a log you can check
The form creates a message. Authenticated SMTP gives it an identified sending route; SPF, DKIM and DMARC help receiving systems verify the sender.
  • The form never submits

    A validation error, broken script or spam check can stop the message before email is involved. If the page keeps spinning or shows an error, investigate that first.

  • The server cannot send

    A blocked connection, expired credential or rejected sender can stop the handoff. Match the sending log to the time of your test instead of repeatedly reinstalling the form.

  • The inbox filters it

    The provider may accept a message that later lands in spam or quarantine. An accepted status is useful evidence, but someone still needs to check the destination.

The WordPress wp_mail reference explicitly distinguishes successful processing from successful receipt. Start with one labeled test, its time and its destination so you can follow the same message through each system.

↑ Back to top

A working form protects your Google leads

Someone can find you on Google, compare your services and write a detailed request that never reaches your team. The immediate problem is the lost conversation after the visit. Fixing SMTP protects that contact path; it does not promise better Google rankings.

Law firm websites reviewed
300
No form in homepage or contact page HTML
27%
Neither a form nor a tel: link
10%

Fer Marketing law firm website study, October 2026

These findings describe contact options visible in the audited HTML, not email delivery tests. They show why the contact route deserves attention before more traffic is sent to a site. A form that exists still needs its own delivery check.

Our WordPress web design hub connects these checks with the rest of the customer journey. The WordPress conversion guide covers what visitors need before they choose to contact you.

↑ Back to top

Choose an SMTP plugin and mail provider

An SMTP plugin connects WordPress to a sending service; it is not the mailbox or service itself. WP Mail SMTP, FluentSMTP and Post SMTP are options to evaluate neutrally. Choose around your provider, required authentication and available logs, then keep one active mail-routing plugin.

  • A real business mailbox

    An existing mailbox can suit a modest flow of inquiries. Use a business-owned account and confirm its sending rules, limits and recovery access before relying on it for website notifications.

  • A transactional service

    Brevo, SendGrid, Mailgun, Amazon SES and Postmark are services to compare for automated messages. Check domain verification, account approval, delivery records and plugin compatibility before choosing.

  • SMTP or an API

    Some plugin connections use the provider's API instead of SMTP. Both can provide an authenticated route; the important questions are who sends the message and how you trace a failure.

Typical setup tradeoffs with an authenticated sender, not delivery guarantees
OptionDifficultyReliabilityCost
Host mailboxLow to mediumHost-dependentPlan-dependent
Gmail / WorkspaceMediumQuotas applyAccount-dependent
Microsoft OAuthMedium to highConsent-dependentLicense-dependent
TransactionalMediumBuilt for alertsUsage / plan

Check the current plugin edition for the connection and logging you need. Provider fees and plugin licensing are separate decisions, and a paid plugin cannot repair an unverified domain by itself. Prefer a setup the business can access after a staff or agency change.

↑ Back to top

WordPress SMTP Gmail: use the right login

For an eligible Gmail or Google Workspace account, manual SMTP uses smtp.gmail.com, port 587 with STARTTLS, the full email address and an App Password. Google's app sending guidance explains the available routes. Your ordinary Gmail password is not the credential to paste into WordPress.

Gmail SMTP settings, without a real credential
Server: smtp.gmail.com
Port: 587
Encryption: STARTTLS
Authentication: enabled
Username: your full Google email address
Password: a dedicated App Password

Use the account's authorized sender address. This is a settings example, not a working login.

An App Password requires 2-Step Verification and may be unavailable under account restrictions. Google prefers Sign in with Google where supported; see its App Password guidance. If that option is missing, use a supported OAuth connection or ask your Workspace administrator instead of weakening account protection.

Workspace SMTP relay is a separate option

A Workspace administrator can configure the SMTP relay for approved senders and the server's authentication method. It is not enabled by changing the SMTP hostname alone. Google documents the administrator setup in Workspace SMTP relay.

↑ Back to top

Microsoft 365: prefer an OAuth connection

Microsoft 365 is more complicated than entering a username and password. SMTP AUTH is often disabled through organization or mailbox settings, and security defaults can disable it too. Your administrator should review Microsoft's SMTP AUTH guidance before changing the account.

Prefer your plugin's Microsoft OAuth integration, with the required administrator consent, or an authenticated transactional service. For example, WP Mail SMTP's Microsoft mailer uses Microsoft's API. Confirm the required plugin edition and permissions before buying or authorizing it.

↑ Back to top

SPF, DKIM and DMARC in plain words

SMTP authenticates your site's connection to the provider. Domain authentication helps the receiving inbox verify that the provider is allowed to represent your business. SPF lists senders, DKIM signs messages, and DMARC checks their relationship to the visible From domain.

Google's sender guidelines require SPF or DKIM for all senders to personal Gmail accounts, and SPF, DKIM and DMARC for bulk senders. Authentication helps smaller sites too, though it does not guarantee inbox placement.

Illustrative SPF record for example.com
Type: TXT
Name: example.com
Value: v=spf1 ip4:192.0.2.10 ~all

192.0.2.10 is a documentation-only address. Use your provider's actual instructions and merge authorized senders into one SPF record; do not publish this sample.

Illustrative monitoring policy for example.com
Type: TXT
Name: _dmarc.example.com
Value: v=DMARC1; p=none; rua=mailto:dmarc@example.com

Replace the domain and report mailbox. A p=none policy requests reports; it does not ask inboxes to reject impersonation.

Get DKIM records from the actual sending provider, including its selector and key or CNAME targets. Do not invent a key or replace unrelated DNS records. Have the person responsible for business email review changes so the website repair preserves existing staff mail.

↑ Back to top

WordPress not sending email: the 15-minute fix

Treat 15 minutes as a target for a straightforward setup with approved accounts, DNS access and credentials ready. Domain verification, provider approval or Microsoft consent can take longer. Before changing anything, save the current settings and take a recoverable backup.

  1. Step 1

    Identify one missing message

    Submit a labeled test and record the page, time and destination. Check the form recipient, existing entries and spam folder so you know whether the failure starts before or after the sending attempt.

  2. Step 2

    Connect one authenticated provider

    Configure one mail-routing plugin with your business mailbox or transactional account. Use the provider's supported SMTP, OAuth or API method, and deactivate overlapping routing plugins after saving their settings.

  3. Step 3

    Verify the sender domain

    Publish the provider's required DNS records and wait for verification. Set an authorized From address, and put the visitor's validated email in Reply-To so staff can answer them without impersonating their domain.

  4. Step 4

    Send a plugin test email

    Send a clearly labeled test to controlled Gmail and Outlook inboxes where possible. Check inbox, spam and quarantine; record any provider rejection rather than treating a green plugin status as delivery proof.

  5. Step 5

    Inspect authentication headers

    Open the received message's original or headers and inspect Authentication-Results for SPF and DKIM pass. Check DMARC and alignment with your sender domain; investigate failures before calling the setup complete.

  6. Step 6

    Enable useful logs and entry storage

    Record sending status and provider identifiers through the plugin, provider or suitable logging tool. Enable form-entry storage separately if needed, restrict who can read it and choose a retention period for messages and attachments.

  7. Step 7

    Submit the real form again

    Test the public form on a phone, including each language and notification route. Confirm the staff inbox, stored entry and any visitor confirmation; test replying to the visitor, then record the working configuration and owner.

↑ Back to top

Contact Form 7 not sending email: check routing

If your WordPress contact form is not sending email but the plugin test arrives, inspect the form's notification settings. Check the To address, enabled notifications, field tags and conditional routing. Contact Form 7's mail setup documentation explains the sender and additional headers.

Example form notification headers
To: sales@example.com
From: Website <website@example.com>
Reply-To: [your-email]

Authenticate example.com's replacement domain and authorize the From address. In Contact Form 7, [your-email] must match an actual email field in that form.

Do

  • Send from an authenticated, authorized address.
  • Use the visitor's validated address in Reply-To.
  • Keep a database copy of form entries.
  • Test staff mail and visitor confirmations separately.

Don't

  • Paste your personal Gmail password into a plugin.
  • Send from another domain without authenticating it.
  • Assume every form plugin stores submissions.
  • Count a success banner as proof of inbox delivery.

Entry storage is a separate feature to confirm, not something SMTP adds automatically. Verify that a test submission is actually saved and readable by the right staff. If there is no stored copy, fixing delivery later cannot recreate inquiries that were never recorded.

↑ Back to top

Keep form delivery on your care checklist

Mail can stop after an account password change, a disconnected authorization, a hosting move or a DNS edit. Keep a short record of the provider, sender, form destinations and person responsible. Make that record accessible to the business without putting secrets in an ordinary document.

What to check after changes and during routine care

  • Submit each live form.Include alternate languages, quote requests and any order or booking notifications. Confirm receipt and stored entries rather than checking the page alone.
  • Review delivery errors and account limits.Investigate rejected messages, expired authorization and unexpected sending volume. Route failure alerts to a monitored channel that does not rely solely on the broken mail route.
  • Protect stored leads and credentials.Limit access to logs and entries, retain only what the business needs, and include stored submissions in database backups. Revoke unused credentials when providers or staff change.
  • Retest after updates and migrations.Repeat the same labeled submission after changing forms, SMTP settings, hosting or DNS. Preserve a dated result so the next person knows what was verified.

Use our guides to WordPress backups, safe WordPress updates and WordPress security to protect the rest of this workflow. If you want one team to own the repair and follow-up checks, see WordPress management.

↑ Back to top

We can do this for you

Want us to fix your form emails?

We trace the failure and configure a sending route your business can maintain. You receive the scope and fixed written quote before work begins.

  • An authenticated SMTP, OAuth or provider API connection.
  • Sender-domain records and From / Reply-To settings.
  • Sending logs and form-entry storage within the agreed scope.
  • Real form, inbox and authentication checks with handoff notes.

Frequently asked questions

Why is WordPress not sending email even with a success message?

The form may have accepted the submission without proving inbox delivery. Check the recipient, sending log, provider response and spam or quarantine, then test the same form through an authenticated sending connection.

Which SMTP plugin should I use?

WP Mail SMTP, FluentSMTP and Post SMTP are options to compare. Choose one that supports your provider's current authentication method and the logs you need, confirm the required edition, and avoid overlapping mail-routing plugins.

Can I use Gmail for WordPress SMTP?

Yes, if your account permits the chosen connection. Use a supported Google sign-in connection, or an App Password with 2-Step Verification for eligible manual SMTP setups. Use an authorized sender and review sending limits.

Why is my WordPress contact form not sending email when the SMTP test works?

Check form-specific notification rules, recipient addresses and field tags. Also confirm the public submission passes validation and spam checks. The plugin test does not exercise those parts of the form.

How do I fix Contact Form 7 not sending email?

Check the Mail settings, authenticate the sending route and use an authorized From address. Put the visitor's email in Reply-To using the correct field tag, then verify a real submission, its stored copy and inbox receipt.

Does Microsoft 365 work with WordPress email?

Yes, through a supported connection. A plugin's Microsoft OAuth integration or an authenticated transactional service avoids depending on legacy password-based SMTP AUTH. Your Microsoft administrator may need to approve the connection.

Does installing SMTP recover missing form messages?

No. It changes future sending. Existing inquiries can only be recovered from records that were saved, such as stored form entries, a CRM or provider records containing the needed message data. Check those sources before deleting logs.

Can Fer Marketing fix our website email delivery?

Yes. WordPress management starts from $250 with a fixed written quote before work. We review the form and sending route, agree the scope and test delivery. Agencies can request white-label work.

Tell us which form is failing for a fixed written quote from $250 and a same-business-day reply; white-label work is available for agencies.

Keep reading

Tell us what you need

Write to fer@fer.marketing or message us on WhatsApp. You get a reply from Fernando, not a sales team.