Contact Form Not Sending Emails WordPress
Overview
A WordPress contact form that silently swallows submissions is one of the most damaging technical problems a contractor website can have. Visitors believe their message was sent. You never receive it. The lead is gone. This problem is extremely common on WordPress sites because WordPress uses the wp_mail() function by default, which relies on the server’s PHP mail() function — and most shared hosting providers block or severely restrict outbound email from that channel.
Why WordPress Email Fails
WordPress does not have a built-in SMTP connection. When a form submits, wp_mail() hands the message to the server’s local mail handler. Most hosting servers:
- block port 25 (standard SMTP) as an anti-spam measure
- do not have a properly configured mail transfer agent (MTA)
- send mail from a server IP with no SPF or DKIM records, causing receiving servers to reject or spam-filter the message
The form plugin reports success because it handed the message off correctly — but the message never arrives at your inbox.
Common Causes
- no SMTP plugin installed; relying on default
wp_mail() - SMTP plugin installed but credentials not configured or wrong
- hosting provider blocks all outbound email from PHP
- form notification email address doesn’t match a verified sending domain
- the receiving inbox (Gmail, Outlook) spam-filters server-generated email
- email address in form settings has a typo
- plugin update reset the notification settings
How the Problem Appears
- form shows “Message sent” or “Thank you” but no email arrives
- emails arrive intermittently — some get through, most don’t
- emails land in spam folder
- confirmation copy to the submitter also missing
- no error shown anywhere on the form or admin panel
How It Is Diagnosed
- install WP Mail SMTP’s diagnostic tool and run a test email
- check spam and junk folders on the receiving end
- verify the “send to” email address in the form plugin settings
- check whether the hosting provider logs outbound mail attempts
- use a tool like mail-tester.com to check deliverability of server-sent email
Typical Fix
Install an SMTP plugin (WP Mail SMTP, FluentSMTP, or Post SMTP) and connect it to a transactional email service:
- Gmail / Google Workspace — works well for low volume; requires OAuth setup
- SMTP2GO, Brevo (Sendinblue), or Mailgun — recommended for reliability; free tiers cover typical contractor form volume
- Resend or Postmark — developer-grade reliability with domain authentication
Configure SPF and DKIM DNS records on your domain for the sending service. This is the single most effective fix and eliminates the problem permanently for all email sent from the site, not just the contact form.
If a plugin update broke working settings: re-enter SMTP credentials and send a test message before assuming the connection is live.
Related Technical Issues
Technical Website Support
If your WordPress contact form is not delivering emails, every day it goes unfixed is a day leads are being lost silently. This is a fixable problem — typically resolved within a few hours once the correct SMTP configuration is in place.