Our “Topics from the Trenches” was empty of content this month. Maybe next time.
A Few Quick Announcements
- WordPress 6.0 is scheduled for release May 24.
- WordCamp Montclair, NJ is still on for June 25, 2022. It will be the first in-person WordCamp since February 2020. It is being held at Montclair State University.
- Our June meeting is on the 3rd Saturday of the month, on June 18. PACS will stay virtual through the remainder of this program year. The 2022-2023 year is still up in the air.
- I am still actively soliciting ideas for future meetings.
Topics from the Trenches
Anyone, anyone? Yes, in the back!
Nothing this month.
Topic of the Month (TOTM) – How to Fix WordPress Not Sending Email Issue
How to Fix WordPress Not Sending Email Issue
Common Question in Support
One of the most commonly asked questions in Support is how to fix WordPress not sending email problems. Website Owners ask why their contact form plugin is not sending emails, or why they are not seeing any WordPress notifications.
Let’s look into how to fix the WordPress not sending email issue, so your website can send emails more reliably and bypass the spam folder.
Why You’re Not Getting Emails from Your WordPress Site
The most common reason for emails going missing is that your WordPress hosting server is not properly configured to use the PHP mail() function or your host does not provide email with your hosting plan.
Email service providers (Gmail, Yahoo, AOL) use tools to reduce email spam. The tools try to confirm the actual source address of the email.
From email address = email@example.com <- This is a spoofed address.
Emails sent by WordPress websites often fail this test
This means that when an email is sent out from your WordPress site (contact form plugin, admin notification), it may not even make it into the recipient’s spam folder let alone the inbox
I recommend everyone to use SMTP for sending emails in WordPress
What is SMTP?
SMTP (Simple Mail Transfer Protocol) is the industry standard for sending emails
Unlike the PHP mail() function, SMTP uses authentication for higher email deliverability
WP Mail SMTP
WordPress has a WP Mail SMTP plugin that configures your WordPress site to send emails using SMTP instead of the PHP mail() function.
We discussed it a few months ago when talking about Dashboard tools. Tools to help simplify the WordPress backend
Why Use WP Mail SMTP?
- Connect with popular SMTP services
- Gmail (Google Workspace)
- Amazon SES
- Today we will use Sendinblue
Installing the WP Mail SMTP Plugin is an exercise left to the viewer.
Whatever SMTP service you choose, you’ll need to have the WP Mail SMTP plugin installed on your site.
This lets you switch WordPress from using the built-in PHP mail() function to using your SMTP service.
Configure the WP MAIL SMTP Plugin
- Click on WP Mail SMTP in your WordPress dashboard to configure the plugin settings
WP SMTP MAIL Plugin Mail Settings
- Enter name and email address you want your site’s emails to come from
- Use the same email address that you will use for your SMTP mailing service
More WP SMTP MAIL Plugin Mail Settings
You can choose to force emails to use this name and email address, even if other plugins (like WPForms or Contact Form 7) have different settings.
WP Mail SMTP will override the other plugins’ settings.
Choose a SMTP mailing service for your site
- We are going to setup SMTP using Sendinblue
- The plugin can accommodate Gmail or Office365, or others
Create Sendinblue Account
- Finish setting up WP Mail SMTP by creating an account with Sendinblue
- Sendinblue has a good free level starter plan
- Left as an exercise for the viewer
Sending WordPress Emails using Sendinblue
- Send emails with high deliverability
- Use Sendinblue to send up to 300 emails per day for free
- eg. Emails from contact form, new user account details, password recovery emails, order confirmation, or any other emails sent through your WordPress site
Once you’ve created an account, you’ll see your Sendinblue dashboard.
One More Step Before Continuing With Sendinblue
Setting Up a Subdomain for Your Website
- A subdomain is like a separate section of your site
- eg. mail1.example.com.
- Your WordPress host may not allow you to use mail as your subdomain.
- Hence ‘mail1’
- Log in to your web hosting account and find the Domains section of your control panel.
Domains and Subdomains? Where?
- Not going to demo this today
- Log into your host
- Searching for domains or subdomains to set it up
- Left as …. 🙂
Adding Your Subdomain to Sendinblue
- Go to ‘Settings’ | ‘Your Senders’ and click the ‘Configure’ button:
Add Domain To Sendinblue
- Click on the ‘Domains’ tab
- Click the ‘Add a New Domain’ button
Enter Full Subdomain
- Enter the entire subdomain (e.g. mail1.example.com)
“I would like to use this domain name to digitally sign my emails (SPF, DKIM, DMARC)”.
Authenticate The Domain
- Click ‘Save’, and you’ll see a popup with several DNS records listed.
- Allows Sendinblue to authorize your domain name.
Update DNS Zone At Host
- Log back into your web hosting account (use new browser tab)
- Find your domain DNS records
- Add 3 TXT records provided by Sendinblue.
- Scroll down to find the TXT section of your DNS records.
- It will look something like this:
TXT Record Details
- Click ‘Add Record’.
- Complete the first record as follows:
**Host Record:** `mail._domainkey.mail1` **Record Type:** TXT **TXT Value:** Copy this from Sendinblue. **TTL:** 1 day
Tips: Host Record might be called Host or Name by your web host.
Change ‘mail1’ to match your new subdomain. Record Type may not be required.
TXT Value may show as TXT Data.
TTL could be 24 hours or 86400 seconds. If using GoDaddy set to 1 hour.
- Click ‘Save’
- Add second TXT record
**Host Record:** `mail1` **Record Type:** TXT **TXT Value:** `v=spf1 include:spf.sendinblue.com mx ~all` **TTL:** 1 day
- Save the 2nd record
- Add third TXT record and save it
**Host Record:** `mail1` **Record Type:** TXT **TXT Value:** Copy this from Sendinblue. **TTL:** 1 day
Warning: Sendinblue shows 4th piece of code for DMARC record.
You can skip it unless you’re experienced with DMARC configuration.
Return to Sendinblue
- Click ‘Record Added. Please Verify It’
- It may take 24-48 hours before Sendinblue verifies your records
- Usually much quicker
- You will see the word ‘Configured’ next to the records in green
Records Verified and Configured
Finishing Setting Up WP Mail SMTP to Use Sendinblue
- Return to WP Mail SMTP settings
- Enter the From Email and From Name, if not already done
- Leave the ‘Return Path’ checkbox unchecked
- Click on ‘Sendinblue’ for your mailer
Sendinblue API Key
- Go to Sendinblue account to find API key
- Click link below ‘API Key’ box to open Sendinblue account dashboard
Copy the v3 API key
- Everything is set up
- Send a test email
Send a Test Email
- Visit ‘Email Test’ tab of WP Mail SMTP
- Enter an email address to send an email to
- Click ‘Send Email’
Test HTML email was sent successfully!
Check your inbox to see whether it’s arrived.
It’ll look like this:
Alternative Ways to Fixing WordPress Email Issue
WP Mail SMTP plugin’s list of mailer options has other services including:
Office 365, Gmail / Google Workspace, Amazon SES
Your Website Now Can Send Email Successfully
- Increased email deliverability, not guaranteed
- Authenticated email from a known sender
That’s All Folks!
That was about it.
See you next month.
Resources & Links Referenced
- Why Use An Email Subdomain
- How To Change the Sender Name and Email in WordPress
- Gmail Is Disabling Less Secure Apps: What To Do Next
- How to Fix WordPress Not Sending Email Issue
- WP SMTP MAIL plugin
- Cloudflare for DNS Hosting
Notes & Questions
Alas, I forgot to hit the ‘Record’ button!