Email marketing has been around forever, and it is no coincidence. This highly effective digital marketing strategy can effectively convert prospects into buying customers and turn one-time buyers into ardent fans. Some studies have indicated that email marketing is more effective than social media marketing.
So, if you are using emails as a means of marketing or even communication, it is important to maintain the proper functionality of the channel. Unfortunately, technical issues can occur any time, and if you are experiencing the WordPress not sending email issue, it can disrupt the flow of your business transactions.
Do not worry! In this article, we will help you resolve this WordPress mail issue, so you can send emails reliably with no interruptions.
The primary reason why you are not getting emails from your WordPress website is your web server is not configured appropriately to utilize the PHP mail() function. Your hosting provider does the modification for this, but many email providers like Gmail use different tools to get rid of email spam. These tools detect that emails are truly coming from the location they claim to be from.
Many emails from WordPress fail this test. So, when WordPress sends emails to various inboxes through admin notification or a plugin, it might not reach the desired destination. For this reason, it is best to not use WordPress to send emails for newsletters. It is, however, recommended to use the simple mail transfer protocol (SMTP) instead.
SMTP is the standard protocol for sending emails. It uses the right authentication to deliver emails more effectively, unlike the PHP mail() function. Although we mentioned that sending emails through WordPress using a plugin might not be that effective, the platform offers the WP Mail SMTP plugin. This WordPress tool lets your website send emails using SMTP rather than the PHP mail() function.
You can utilize the plugin to connect with Amazon SES, Office365, Gmail (G Suite), SendinBlue, and other popular services for SMTP. We will use this email service protocol to fix your WordPress not sending email issue.
In this section, we will provide the steps you can do to install and use SMTP for your WordPress emails.
You need to install the plugin regardless of the SMTP service you pick for your WordPress website. This allows you to switch from using the PHP mail() function to using SMTP.
Install the plugin on your website by going to the Plugins section from your Dashboard menu and select Add New. Type the name of the plugin in the search box. Once it appears on the search results page, click Install Now and Activate on it.
Once activated, you will see WP Mail SMTP on your Dashboard area. Click on it to configure its settings.
Start by providing your email address and the name of your business. The email address you will enter here should be the same with what you will use for your SMTP service.
You can tick the boxes for Force From Email and Force From Name if you want the business name and email you provided on the page to appear for all your WordPress emails.
You will then need to select your SMTP mailing service. For this tutorial, we will be using Sendinblue. But to use this service, you must set up an account with them first.
Sendinblue is one of the popular SMTP mailing services. They are known for allowing users to send emails in bulk with a high delivery rate.
You can use it to send a maximum of 300 emails a day for free. Any WordPress email is allowed, such as from a contact form, password recovery activity, and new user account details.
Go to the Sendinblue website and click the button for Sign up free at the upper right side of the page. Fill out the necessary details to create your account and then click Get Started.
Once you have successfully registered, go to your Sendinblue dashboard, and contact the support team for your account verification. It may take up to 24 hours to verify your account, so you must wait.
Tip: When you send your request to the support team of Sendinblue, include the following details:
Their support team might still need further information from you, so you must provide them with the details. While waiting for their reply, you can proceed to the next steps.
You need to create a subdomain for your website because you need it to completely set up your Sendinblue account. The subdomain acts like a separate section of your WordPress website.
In setting up your subdomain, you can use “mail1” for the name as your hosting provider might not allow “mail” for the subdomain. So, your subdomain can be like “mail1.innzonehosting.com”.
To set up your subdomain, you must do it using your control panel. Log in to your control panel and search for “domains” in the search box. If your web hosting provider uses cPanel, you can search for “subdomains”. Once you see it, enter it and start creating your subdomain.
Type the subdomain name and follow the other instructions in your control panel. Click Create.
Once you have successfully created the domain name, you need to add it to your Sendinblue account.
Log in to your Sendinblue account and go to Settings. Select Your Senders and click Configure.
Choose the tab for Domains and then click the button for Add New Domain at the upper right side of the page. Enter your subdomain name and tick the box for “I would like to use this domain name to digitally sign my emails (SPF, DKIM, DMARC)”. Click Save to see the codes, which authorize the subdomain name you entered.
In case you accidentally close the pop-up window for the codes, click the Authenticate This Domain button to get back to it. You will need these codes for the next steps.
Log back into your control panel and go to your Domains section. Look for the subdomain you created previously and click Manage Redirection on it.
Go to the TXT section and look for something like this:
Click Add Record and complete the information as follows:
Host Record: mail._domainkey.mail1
Record Type: TXT
TXT Value: Get the information from Sendinblue.
TTL: 1 day
TTL might be 86,400 seconds or 24 hours in your record, but it is equivalent to one day. Click Save once done.
You will need to add two more TXT records. For the next one, use this information:
Host Record: mail1
Record Type: TXT
TXT Value: v=spf1 include:spf.sendinblue.com mx ~all
TTL: 1 day
Click Save once done.
For the third one, use these details:
Host Record: mail1
Record Type: TXT
TXT Value: Get the information from Sendinblue, the third piece of the code.
TTL: 1 day
Save the record again.
Sendinblue might have the fourth code. If you see it, skip it because you do not need it.
Go back to your Sendinblue account and verify each record. Click Record Added. Please Verify It. for each record. The records might take 24-48 hours to be verified. Once verified, you can see Configured next to each record.
Go back to your WP Mail SMTP dashboard in your WordPress website. Skip Return Path and select Sendinblue for your Mailer.
WordPress will then need your Sendinblue API key. You need to get it from your Sendinblue account. From your Sendinblue dashboard, go to SMTP & API and select the API Keys tab. Use the key for v3.
That is it!
To make sure everything is working properly, you can send a test email. To do this, go to Email Test in the WP Mail SMTP settings and enter the email address you will send the test to. Click Send Email.
Once you see the Test HTML email was sent successfully! message, it is a go signal that the email was delivered. Check the inbox of the email address you entered earlier to see the test email. If the message is there, it is a guarantee that everything is working perfectly.
If your account with Sendinblue is not yet active, you will have this message:
[permission_denied]: Unable to send email. Your SMTP account is not yet activated.
As mentioned earlier, there are also alternative ways to fix this WordPress mailer issue. In this section we will briefly discuss the Office 365, Amazon SES, and Gmail/G Suite options.
If your email is registered under Outlook or Office 365, you can use it to set up SMTP. You will need to follow the same steps as setting up WP Mail SMTP, but you must click the Other SMTP option.
You will then need to fill out a form. Use these details:
SMTP Host: smtp.office365.com
SMTP Port: 587
Auto TLS: (leave switched on)
Authentication: (leave switched on)
SMTP Username: Your email for your Office 365 account
SMTP Password: Your password for your Office 365 account
The downside to this option is it stores your password in plain text in your WordPress website, so your security is at risk. You can, however, record the password in your wp-config.php to keep it secure. Just follow the instructions in the WP Mail SMTP tool.
One great thing about Amazon SES is it allows you to send 62,000 emails per month. But the major downside to this option is its setup is more complex for beginners. This can be a good option for advanced users only.
If you decide to use this method, you can check the instructions on how to configure it from WP Mail SMTP.
For the Gmail email, you still need to follow the same steps in setting up your WP Mail SMTP service, but you must click the “Google” option and tick the box for Return Path.
WordPress will then ask for “Client Secret” or “Client ID” information. To know the details for this, you must create an app in your Google account. Follow the instructions in WPForms to create the application.
Like the previous alternative method, there are also drawbacks to this option. One is you might need to ask your web hosting provider to install a certificate to make this work. Another is if you decide to change your email, you must go through the process again and create another web application.
Fixing the WordPress not sending email issue can be a little challenging for beginners. But if you follow our guide correctly, you will not encounter problems during the process.
In case it gets overwhelming and confusing already, you can always ask for professional help from your web hosting provider. To recap the steps for setting up WP Mail SMTP on your WordPress website, here is a short summary:
Follow our guide to fix the WordPress not sending email issue and deliver emails with ease to your prospects and clients!