There’s nothing quite as frustrating as discovering your WordPress contact form isn’t sending emails. You might have missed opportunities from potential clients, important enquiries sitting in digital limbo, or worse – you don’t even know how long the problem has been happening.
The good news? Contact form email issues are almost always fixable, and the causes are usually straightforward. In this guide, I’ll walk you through the most common reasons why WordPress contact forms fail to send emails and show you exactly how to fix them. Most of these solutions don’t require technical expertise, and you can have your forms working reliably within an hour or two.
Why your WordPress contact form emails aren’t sending
To understand why your contact forms aren’t working, you need to know a bit about how WordPress sends email by default.
Out of the box, WordPress uses something called the PHP mail() function to send emails. This is WordPress’s built-in method for sending messages, and it’s been part of the platform since the beginning. The problem? It’s not particularly reliable.
The PHP mail() function sends emails directly from your web server without proper authentication or verification. This approach worked fine in the early days of the web, but modern email systems have become much stricter about which emails they accept. Email providers like Gmail, Outlook, and others have sophisticated spam filters that look for proper authentication and sender verification.
When WordPress tries to send an email using PHP mail(), it often lacks the credentials and authentication that email providers expect. As a result, your emails either get rejected outright or land in spam folders where they’ll never be seen.
Here’s the real kicker: this isn’t a reliable option and can actually get your website flagged by your hosting company. Many hosting providers monitor email sending from their servers, and if they detect what looks like spam or suspicious email activity, they may suspend your account or block email sending altogether. Even if you’re just trying to send legitimate contact form notifications, the default PHP mail() method can trigger these security measures.
Most established businesses need something more dependable than hoping their emails get through. That’s where SMTP comes in, which we’ll cover in detail shortly.
Check your spam folder first
Before you dive into technical fixes, start with the simplest possibility: your contact form emails might actually be sending, but they’re landing in your spam or junk folder.
Open your email client and check your spam folder. Look for emails from your website’s domain or from “wordpress@yourdomain.com.au” – this is often the default sender address WordPress uses. If you find your contact form notifications there, that’s actually good news. It means the emails are being sent; they’re just not being trusted by your email provider.
Why does this happen? Email providers use sender reputation to determine whether emails are legitimate. When WordPress sends email using the default PHP mail() function, it often doesn’t include proper authentication records like SPF, DKIM, or DMARC. Without these credentials, email providers treat your messages with suspicion.
Even if you find emails in your spam folder and mark them as “not spam,” this isn’t a permanent solution. The underlying authentication problem remains, and emails from other people filling out your contact form will likely still end up in spam. You’ll need to implement proper SMTP sending (covered next) to solve this permanently.
While you’re checking, look at a few of these emails to verify they contain the correct information from your contact form. Sometimes the issue isn’t that emails aren’t sending – it’s that they’re being sent to the wrong address or formatted incorrectly.
If you’re using email bundled with your website hosting? It’s not ideal, and is likely going to contribute to deliverability issues for both your incoming and outgoing emails.
Configure SMTP for reliable email delivery
SMTP (Simple Mail Transfer Protocol) is the professional way to send email from your WordPress website. Think of it as the difference between asking a random person on the street to deliver an important document versus using a uniformed delivery driver from a trusted company with tracking and credentials.
The random stranger might deliver your document, but there’s no guarantee it will get to the recipient who has no way to verify it’s legitimate. A professional courier, on the other hand, has identification, a uniform, proper authorisation, and a tracking system that proves they’re trustworthy.
When you use SMTP, your WordPress site connects to a proper email server that handles authentication, verification, and delivery. The receiving email provider can verify that your emails are legitimate because they’re coming from a trusted, authenticated source. This dramatically improves deliverability and ensures your contact form emails actually reach your inbox.
Setting up SMTP on WordPress is straightforward with the right plugin. WP Mail SMTP is the most popular option, and for good reason – it’s well-maintained, works with all the major email providers, and includes helpful debugging tools.
This plugin has a lite version and pro. Most sites will be able to use the free lite version, but if you want email reports, logs, and some extra deliverability safeguards you’ll need the pro version.
Here’s how to set it up:
- Install and activate the WP Mail SMTP plugin from your WordPress dashboard
- Go to WP Mail SMTP → Settings in your WordPress admin
- Choose your email provider (Gmail, Outlook, SendGrid, Mailgun, or “Other SMTP” for any provider)
- Enter your SMTP credentials (these come from your email provider)
- Send a test email using the plugin’s built-in test tool
For the SMTP credentials, you’ll need information from your email hosting provider. If you use Google Workspace, Microsoft 365, or another business email service, they’ll provide SMTP server details in their documentation.
Often you’ll need to connect to a paid service, though some of the providers offer a free tier.
The benefits of SMTP extend beyond just “making it work.” You get proper email authentication, better spam score, the ability to track email delivery, and protection from being flagged by your hosting company. Some SMTP services even provide analytics showing which emails were delivered, opened, or bounced.
Once you’ve configured SMTP, those test emails you send should land reliably in your inbox, not your spam folder. This is the foundation for dependable contact form delivery.
Verify your form plugin settings
Even with SMTP properly configured, your contact form can still fail if the plugin itself is misconfigured. Let’s walk through the common settings that cause problems.
Email address configuration is the most frequent culprit. In Contact Form 7, WPForms, Gravity Forms, or any other form plugin, you need to specify where notification emails should be sent. Double-check that the email address in your form’s notification settings is correct and actually exists. A single typo here means you’ll never receive enquiries.
Most form plugins also let you set the “From” email address—the address that appears in the sender field. This should ideally be an email address on your own domain (like info@yourdomain.com.au), not a generic Gmail or Hotmail address. Using your own domain’s email helps with deliverability and looks more professional to email providers.
Test mode versus live mode catches people out surprisingly often. Some form plugins have a “test mode” or “demo mode” that prevents emails from being sent while you’re setting things up. WPForms, for instance, has this feature. If you’ve been testing your forms and forgot to switch back to live mode, no emails will send. Check your plugin’s global settings for any testing or demo modes that might be enabled.
reCAPTCHA configuration is another significant point of failure that doesn’t get mentioned enough. If you’ve added reCAPTCHA to your contact form for spam protection (which is a good idea), but the configuration isn’t quite right, your entire form can stop working.
Common reCAPTCHA issues include:
- Expired or invalid API keys
- Using reCAPTCHA v2 keys with a v3 implementation (or vice versa)
- Keys that aren’t authorized for your specific domain
- reCAPTCHA scoring thresholds set too high, blocking legitimate submissions
If you recently added reCAPTCHA and your forms stopped working, this is likely your problem. Go to your form plugin’s reCAPTCHA settings and verify that your site key and secret key are entered correctly. You can also temporarily disable reCAPTCHA to test whether it’s causing the issue – if emails suddenly start working, you know reCAPTCHA needs reconfiguring.
For Contact Form 7 specifically, check that your form template includes the proper shortcode tags for all required fields. If the email shortcode [your-email] doesn’t match the actual field name in your form, notifications won’t work correctly.
In WPForms and Gravity Forms, verify that conditional logic isn’t preventing notifications from being sent. Sometimes people set up rules like “only send email if this field equals X” and then forget about them.
While you’re looking at these deliverability factors, it’s also good to make sure your contact form is set up well for other factors like usability, privacy and capturing the right information.
Test your WordPress email functionality
Before assuming your contact form is the problem, test whether WordPress can send email at all. This helps you determine whether the issue is with your form plugin specifically or with WordPress’s email system more broadly.
While WordPress is free, hosting is not. By default, your hosting will control how WordPress sends emails. Some quality managed hosting providers even include email deliverability as a default feature, or paid add on which is worth considering.
A super simple way to test this? Send a password reset email from the Users section and see if it comes through.
Another way to test this is with the WP Mail SMTP plugin mentioned earlier. It includes a built-in email test tool that sends a simple test message to any email address you specify. Go to WP Mail SMTP → Email Test, enter your email address, and send a test. If this test email arrives successfully, you know WordPress can send email – meaning the problem lies with your contact form plugin’s configuration.
If the test email fails, you’ve confirmed that WordPress itself can’t send email reliably. This usually means your SMTP configuration needs attention or you’re still using the unreliable PHP mail() function.
Email log plugins are invaluable for diagnosing intermittent issues. Install a plugin like WP Mail Log or Mail Logging that records every email WordPress attempts to send. These plugins show you:
- Whether the email was sent successfully or failed
- What the error message was (if it failed)
- Who the email was addressed to
- When the attempt was made
This information is gold for troubleshooting. You might discover that emails are only failing during certain times, to certain recipients, or with certain subject lines. Perhaps emails are sending successfully from WordPress’s perspective, but they’re not arriving – suggesting a deliverability problem rather than a sending problem.
A successful email log entry will show a status of “Sent” with no error messages. A failed entry might show errors like “Could not instantiate mail function” (suggesting PHP mail() isn’t working) or “SMTP connection failed” (suggesting SMTP credentials are incorrect).
Run these tests periodically, not just when you notice a problem. Regular testing catches email issues before they cost you business opportunities.
When to call in help
Some contact form email issues require more technical investigation than the average business owner wants to tackle. Here are the signs that it’s time to bring in a WordPress professional:
Server-level problems are beyond what you can fix from the WordPress dashboard. If your hosting company has blocked email sending from your server, configured firewall rules incorrectly, or has DNS issues affecting email authentication, you’ll need someone who can access server logs and hosting configurations. These problems often produce cryptic error messages that don’t mean much unless you understand server administration.
Complex authentication requirements like properly configured SPF, DKIM, and DMARC records require DNS access and technical knowledge. Having these correctly configured is increasingly important for emails to be trusted by major email providers. A professional can audit your domain’s email authentication and implement proper records.
Intermittent failures are particularly frustrating. If your contact forms work sometimes but not others, with no obvious pattern, the cause might be server resource limits, plugin conflicts, theme issues, or rate limiting from your email provider. Diagnosing these requires systematic testing and often access to server logs that aren’t available through WordPress.
Multiple integration points compound the complexity. If your contact form integrates with a CRM, triggers marketing automation, or connects to third-party services, troubleshooting requires understanding how all these systems interact. When one piece of the chain fails, it can be difficult to isolate the cause.
This is where professional WordPress maintenance becomes valuable. Rather than scrambling to fix email issues when you discover them, maintenance plans include proactive monitoring of your email functionality. If your contact forms stop sending emails, you’ll know within days rather than months.
As part of my website care plan services, I include premium email routing via a paid SMTP service to improve deliverability, and also regularly check contact forms are working as intended. It’s one less thing to worry about while running your business.
Frequently Asked Questions
Why do my contact forms work sometimes but not always?
Intermittent contact form failures usually indicate one of three issues: rate limiting from your email provider (you’ve exceeded sending limits), server resource problems (your hosting runs out of available resources during peak times), or plugin conflicts that only trigger under certain conditions. Email log plugins can help identify the pattern – check whether failures happen at specific times, with specific form fields, or from certain IP addresses.
Can I use Gmail SMTP for my WordPress forms?
Yes, you can use Gmail’s SMTP servers for WordPress contact forms, but it’s not ideal for business websites. Gmail enforces strict sending limits (around 500 emails per day for free accounts, 2,000 for Google Workspace), and using Gmail SMTP means your notification emails come from your Gmail address rather than your business domain. For professional businesses, using your web hosting provider’s SMTP or a dedicated transactional email service like SendGrid or Mailgun is more appropriate. If you do use Gmail, you’ll need to enable “Less secure app access” or create an app-specific password, depending on your account type.
Do I need a business email address for contact forms?
While it’s technically possible to send contact form notifications to any email address (Gmail, Hotmail, etc.), you should use an email address on your own domain for the “From” address in your form settings. This improves deliverability because email providers trust messages from matching domains. For the recipient address (where notifications are sent), you can use any email you regularly check, though a business email is more professional.
Will changing plugins fix my email problem?
Switching from one contact form plugin to another (like moving from Contact Form 7 to WPForms) rarely fixes email delivery issues. The problem almost always lies with WordPress’s email sending method, not with the specific form plugin. All form plugins use the same underlying WordPress email functions. If PHP mail() isn’t working reliably or SMTP isn’t configured, changing plugins won’t help. Fix the underlying email delivery first, then all your form plugins will work correctly.
How do I know if my emails are actually sending?
Install an email logging plugin like WP Mail Log to track every email WordPress attempts to send. This creates a record showing whether emails were sent successfully, failed, and why. You can also use the test email feature in WP Mail SMTP to verify that WordPress can send to your email address. For ongoing monitoring, send yourself a test form submission monthly to confirm everything still works—it’s better to discover problems proactively than when a potential client tries to contact you.
Get your contact forms working reliably
Contact form email issues are frustrating, but they’re almost always fixable with the right approach. The solution for most businesses is straightforward: stop relying on WordPress’s default PHP mail() function and configure proper SMTP sending instead.
Once you’ve implemented SMTP, verified your form plugin settings, and tested your email functionality, your contact forms should work reliably. You’ll stop missing enquiries, and you won’t have to worry about whether potential clients can actually reach you.
That said, email configuration isn’t something you want to revisit constantly. It should just work in the background while you focus on running your business. If you’d rather not think about whether your contact forms are functioning, that’s exactly what WordPress maintenance plans are designed for.
My maintenance services include email monitoring, regular testing of contact forms, and proactive fixes before you ever notice a problem. If your forms stop working, I’ll catch it and fix it – usually before you even realise there was an issue.
Get in touch to discuss how maintenance plans can keep your WordPress website running smoothly, including reliable contact form delivery that ensures you never miss another opportunity.
