You set up a “Contact Us” form. You assume it works. But you haven’t received an inquiry in weeks. Or worse — a customer orders a product, but never receives a receipt. They think they’ve been scammed.
This is the WordPress Email Deliverability Crisis. By default, WordPress uses a function called wp_mail() to send emails. This relies on your web server’s PHP system.
The Problem: PHP emails lack a “digital ID” (DKIM/SPF), so Gmail and Outlook treat them as suspicious. On top of that, shared hosts (Bluehost, GoDaddy) often block PHP mail entirely to prevent spammers from abusing their servers.
The solution is not to fix PHP mail. The solution is to use SMTP (Simple Mail Transfer Protocol). This connects your site to a real email provider, ensuring every message is signed, sealed, and delivered.
Solution 1: Install an SMTP Plugin (Required)
You cannot use SMTP in WordPress without a plugin.
- Go to Plugins > Add New.
- Search for “WP Mail SMTP” (by WPForms).
- Install and Activate. (This is the industry standard.)
Solution 2: Configure “Other SMTP” (Free Method)
The easiest free method is to use the business email included with your hosting (e.g., support@yoursite.com).
- Get Credentials: Log in to cPanel > Email Accounts, find your email, and click “Connect Devices.” Note the Outgoing Server (e.g., mail.yoursite.com) and Port (usually 465 or 587).
- Configure Plugin: Go to WP Mail SMTP > Settings. Set Mailer to “Other SMTP,” SMTP Host to your outgoing server address, Encryption to SSL (Port 465) or TLS (Port 587), and toggle Authentication ON. Enter your full email address as Username and your email password as Password.
- Save Settings.
- ✅ Professional: Emails arrive in the Inbox, not Spam.
- ✅ Free: Uses your existing hosting email.
- ❌ Setup: Requires finding server details (5 mins).
Solution 3: Setup SPF and DKIM (Advanced & Critical)
If you set up SMTP but emails still go to Spam, your domain is missing its ID card.
The Fix: You need to add two text records to your DNS settings (Namecheap/GoDaddy).
- SPF Record: Tells the world “This server is allowed to send email for this domain.” Example value: v=spf1 include:yourhosting.com ~all
- DKIM Record: Adds an encrypted signature to every email. Ask your Hosting Support for your “SPF and DKIM records” and paste them into your DNS.
Frequently Asked Questions
Can I use my personal Gmail?
Yes, select “Google” in the plugin settings. However, Gmail limits you to 500 emails/day. For business, a dedicated email or service like SendGrid is safer.
Why don’t I receive Contact Form 7 notifications?
Contact Form 7 relies on the default PHP mailer. Once you install WP Mail SMTP, CF7 will automatically start working correctly.
Conclusion
Relying on default WordPress email is a gamble. Switching to SMTP is the single most effective way to ensure you never miss a lead, a sale, or a password reset again.