Why Your WordPress Forms Aren't Sending Emails (And How To Fix It)
Content
One of the most common and frustrating issues WordPress site owners face is when their contact forms, registration emails, or order confirmations simply stop sending. The form appears to work, but the emails never arrive. Based on community troubleshooting threads, this guide will walk you through the most common causes and their solutions.
Why Does This Happen?
WordPress relies on the PHP mail() function by default, which often sends emails without proper authentication. Major email providers like Gmail, Outlook, and Yahoo now heavily filter such unauthenticated emails to combat spam, frequently resulting in messages being blocked or sent directly to spam folders. The problem is rarely with your form plugin itself, but rather with how WordPress handles email delivery.
Most Common Solutions
1. Configure an SMTP Plugin (The #1 Fix)
The single most effective solution is to route your WordPress emails through a proper SMTP (Simple Mail Transfer Protocol) service. An SMTP plugin authenticates your emails, making them look legitimate to email providers.
- Recommended Plugin: WP Mail SMTP (Free version available).
- How it works: Instead of using the basic PHP
mail()function, it sends all emails through a trusted third-party mailer like Gmail, SendGrid, Brevo (formerly Sendinblue), or your hosting provider's SMTP settings. - What to do: Install the plugin and follow its setup wizard. You will need to choose a mailer and provide credentials (e.g., an API key for services like SendGrid or Brevo, or your email login details for "Other SMTP").
2. Check Your DNS Records (SPF, DKIM, DMARC)
Even with SMTP, emails can be rejected if your domain's DNS records are not configured to vouch for your emails. This is a common issue when using your hosting company's default SMTP or "Other SMTP" settings.
- SPF (Sender Policy Framework) specifies which servers are allowed to send email from your domain.
- DKIM (DomainKeys Identified Mail) adds a digital signature to prove the email was sent by you and wasn't tampered with.
- What to do: Contact your domain host or DNS provider. They can help you verify and add the correct SPF and DKIM records, which are often provided by your SMTP service (e.g., Brevo, SendGrid, Gmail).
3. Investigate with an Email Log Plugin
Before making changes, it's crucial to know if WordPress is even attempting to send the email. An email log plugin can show you this.
- Recommended Plugin: WP Mail Logging.
- How it works: It logs every email WordPress tries to send, along with its status. If an email doesn't appear in the log, the problem is likely with the form plugin or a conflict. If it appears as "sent," the issue is with delivery (e.g., being blocked by the recipient's server).
4. Review Specific Error Messages
If you are using an SMTP plugin and see an error, the message often points directly to the solution.
- "550-5.7.26 Unauthenticated email from gmail.com is not accepted": This almost always means you need to use an SMTP plugin with proper authentication, as Gmail is rejecting emails that appear to be from them but are not sent through their official channels.
- "SSL certificate problem: certificate is not yet valid": This indicates a server time synchronization issue. You must contact your web hosting provider to fix the server's time and SSL configuration.
- "SMTP Error: Could not connect to SMTP host" or "Could not authenticate": Double-check the SMTP hostname, port, username, and password in your SMTP plugin settings. If you recently enabled two-factor authentication (2FA) on your email account, you may need to generate an app-specific password to use in your WordPress settings.
Summary: A Step-by-Step Troubleshooting Plan
- Install WP Mail Logging to confirm emails are being generated.
- Install and configure WP Mail SMTP with a reputable mailer (Brevo's free plan is a popular community choice).
- Contact your domain host to verify your SPF and DKIM DNS records are correct for your chosen mailer.
- Check for error messages in your SMTP plugin's settings and address them specifically.
By following these steps, you can resolve the vast majority of WordPress email delivery issues. If your problem is specific to a certain form plugin (e.g., Contact Form 7, WPForms, Gravity Forms), it is often best to seek help in that plugin's dedicated support forum for further, plugin-specific debugging.
Related Support Threads Support
-
pdf submit not workinghttps://wordpress.org/support/topic/pdf-submit-not-working/
-
Issue with Email Notifications in Forminatorhttps://wordpress.org/support/topic/issue-with-email-notifications-in-forminator/
-
Submit always sends data to URLhttps://wordpress.org/support/topic/submit-always-sends-data-to-url/
-
I want to pass server side html code base on CF7 selected value with button urlhttps://wordpress.org/support/topic/i-want-to-pass-server-side-html-code-base-on-cf7-selected-value-with-button-url/
-
Emails are not Being Senthttps://wordpress.org/support/topic/emails-are-not-being-sent-12/
-
Email Not Receivedhttps://wordpress.org/support/topic/email-not-received-17/
-
Email Concerns when sending to Any Gmailhttps://wordpress.org/support/topic/email-concerns-when-sending-to-any-gmail/
-
WordPress Form Submissions Failing Only for Real Visitors – No Errors in Logshttps://wordpress.org/support/topic/wordpress-form-submissions-failing-only-for-real-visitors-no-errors-in-logs/
-
SSL Certificatehttps://wordpress.org/support/topic/ssl-certificate-36/
-
SMTP recommendations?https://wordpress.org/support/topic/smtp-recommendations/
-
Sending email issuehttps://wordpress.org/support/topic/sending-email-issue-2/
-
New User Registration Form not collecting datahttps://wordpress.org/support/topic/new-user-registration-registration-form-not-collecting-data/
-
not creating ticketshttps://wordpress.org/support/topic/not-creating-tickets/
-
woocommerce not sending order emailshttps://wordpress.org/support/topic/woocommerce-not-sending-order-emails/
-
Slow feedback with contact-formshttps://wordpress.org/support/topic/slow-feedback-with-contact-forms/
-
WP Mail SMTP Summary count is off?https://wordpress.org/support/topic/wp-mail-smtp-summary-count-is-off-2/
-
CF Form received email problemshttps://wordpress.org/support/topic/cf-form-received-email-problems/
-
SMTP Email Service Not workinghttps://wordpress.org/support/topic/smtp-email-service-not-working/
-
Contact Form Stopped sendinghttps://wordpress.org/support/topic/contact-form-stopped-sending/