A very common problem we see among website owners is that WordPress does not send emails correctly or at all. Most WordPress hosting providers, do not provide email hosting. However, this does not mean that you cannot send emails.
Generally, when you try to solve the problem of WordPress not sending emails, it is not a problem on the server, but rather that the email is badly configured on the installation of WordPress, or that there is an incompatibility.
Follow the steps below to receive emails on your WordPress site. This should be applicable for almost all WordPress hosts, as well as for WooCommerce which does not send emails.
Configure WordPress to use SMTP for sending emails.
Install a plugin named WP Mail SMTP
>> install and activate plugin >>, a new menu will show up under the Settings section called Email.
>> Navigate to it in order to configure WordPress to work with SMTP.
On this page you will see several configuration options available:
Here’s a list of all of them and what do they configure:
- From Email – the email address you want to send emails from
- From Name – the name that your emails will be sent from;
- Mailer – choose whether you want to use the Default PHP mail() function, a Gmail/G Suite account, Mailgun, SendGrid or other SMTP server.
Default mode would send the messages using the PHP mail() function without SMTP authentication.
Gmail/G Suite, Mailgun and SendGrid options require additional info such as Client ID and Client Secret or API key that should be obtained by the respective provider.
Other SMTP server option would prompt you to enter additional configuration details which we would describe below.
- Return Path – check if you want to match the return path for your emails to the sending email;
If you choose other SMTP server as a mailer, you would be prompted to add the SMTP server’s configuration settings.
- SMTP Host – the hostname for your SMTP server;
- SMTP Port – the port your server works on;
- Encryption – if you have SSL/TLS encryption available for that hostname, select it here;
- Auto TLS – if your server supports TLS encryption, enable this option;
- Authentication – check if your SMTP server requires authentication;
- Username – the username for your SMTP server;
- Password – the password for your SMTP server;
Once you configure those parameters, simply click the Save button at the bottom of the page.
How to Fix WordPress not sending emails issue
Typical WordPress scenarios that do not send emails may include a submission to a contact form that you never receive, or a third-party extension notification. This could also apply to WooCommerce which does not send emails from recent sales or customer inquiries. Typically, these issues are caused by incorrect settings in extensions or incompatibility with HHVM, PHP 7, and so on. Below are some quick fixes to solve situation When WordPress Fails To Send Email quickly.
Test emails on your server
The first thing you can do is test your WordPress site with the free Email Check extension. Its role is simple: test if sending emails from your WordPress blog works or not! It does not test if the recipient receives the mail, but simply if they leave your site a good way to make the first diagnosis.
Just install the plugin and run a test from the menu Tools> Check Email WordPress, indicating the email address of your choice for the test.
Check your email client to see if you have received the test email. The subject line will appear as “Test email from https://yourdomain.com”. Also be sure to check your spam or junk folder. If you have received an email, this means that WordPress can send emails to your web server.
This means that it is most likely a wrong configuration with your contact form extension or incompatibility. You can always contact the extension developer for help. Let them know that you have done the test above and that the email works on your WordPress installation itself.
You can uninstall the plugin after use, it is not useful to keep it in the long run.
The symptoms of the bug sending email with WordPress
If you experience any of the following symptoms:
Your contact form does not work (Contact Form 7 for example).
You cannot send a new password.
Your users do not receive their registration confirmation email.
Your automated backups do not arrive in your mailboxes.
Your site is very sick and it is the sending of emails from your site host that seems to be the cause. In fact, it’s the PHP Mail () function that seems to no longer work.
Why send emails in SMTP?
By simplifying, instead of sending an e-mail directly, the SMTP implies a connection to a real account on a mail server and it is only after this authentication step that the message is sent to the recipient.
It improves the deliverability of e-mails, that is to say the probability that they are delivered to the recipient.
Well if you have no idea on how to send emails in SMTP instead of the conventional method.
Well, there are free plugins that will do the work!
Fortunately, there is an alternative: Simple Mail Transfer Protocol (SMTP).
SMTP is a better solution for sending e-mails
If the above recommendations did not work for you, the best solution is to configure WordPress with a third-party SMTP provider.
The mail () function used by default, by plugins like MailPoet, has other limitations. Indeed, it offers no form of “security” and control.
But today, spam is exploding, there are many fraudulent practices on the web using e-mail as a means of transmitting viruses, to obtain confidential information (phishing). so web hosts take precautions.
They try to authenticate the exchanges as much as possible and often when you send a newsletter or an e-mail from your site by the “classic” way, it risks landing in the recipient’s spam folder or even never arrive.
To Setup SMTP in WordPress – Best Options
Here are three options you can choose from and instructions on how to configure them:
- Option 1: Gmail (free up to 3,000 emails per month, increased limits if you pay for G Suite)
- Option 2: Mailgun (free up to 10,000 emails per month)
- Option 3: SendGrid
Top WordPress SMTP Plugins to send emails
Tons of different options are available in the WordPress official plugins repository that let you configure WordPress to send emails, but not all of them are reliable.
- 1. WP Mail SMTP
- 2. Gmail or G Suite
- 3. SendGrid
- 4. Mailgun
- 5. Postmark
- 6. WP SES
- 7. SparkPost
If your WordPress email is not being sent, switch over to SMTP (Simple Mail Transfer Protocol) instead.
Use your email account’s SMTP servers
Download, install and activate the WP Mail SMTP plugin from the WordPress repository.
Once activated, click the Settings link (or Settings > Email link in the sidebar) to configure the plugin.
Enter your email address and name and, in the Mailer section, ensure Send all WordPress emails via SMTP is selected.
In SMTP Options >> My cPanel in the and clicking the Email Accounts button.
Scroll down to Email Accounts and click the Set Up Email Client link to view your SMTP settings. Ensure Yes: Use SMTP authentication is checked and enter your SMTP login details.
Click the Save Changes button, then test your settings by entering an email address in the To field under Send a Test Email. Click the Send Test button to proceed. If you do not receive an email, check your SMTP settings.
How to configure MailGun in WordPress to send emails?
Another solution to this problem is Mailgun, a transactional email API service designed primarily for developers. However, even non-developers can easily implement their service. We will show you below how easy it is!
One of the great advantages of Mailgun is that it allows you to send up to 10,000 emails for free per month.
The next $ 500,000 is charged at $ 0,00050 depending on usage, which is inexpensive! For many small businesses or WordPress developers, 10,000 emails could be more than you need. Some additional benefits include:
Ability to use the HTTP or SMTP API to send e-mails. The HTTP API can be more reliable and faster.
Includes a free redirect to other email boxes. Transfer firstname.lastname@example.org to your personal Gmail. Not all transactional messaging services include this feature, and some only allow you to configure routing through their API. Mailgun allows you to configure routings in their dashboard. Ideal for non-developers!
Improved delivery rates.
Easy-to-understand reports to know exactly how many emails you have sent.
Live and searchable logs
A disadvantage for application developers is that they have recently increased the prices of their email validation API. However, many WordPress sites do not use this feature.
How to use Sendgrid SMTP to send emails in WordPress?
Another good alternative is SendGrid. They have a free trial, which allows up to 40,000 emails in the first 30 days. You can download their WordPress extension for free from the WordPress directory. The extension replaces the default wp_mail () function of WordPress using an SMTP or API integration.
SendGrid has a long history of providing great email as well as a secure mailing list. Airbnb, Spotify, and Uber. Once you install the plugin, simply click into it under your WordPress dashboard and configure it with your API key. See SendGrid’s API documentation.
SendGrid is used by major brands such as Airbnb, Spotify and Uber for secure mail deliveries. Once the extension is installed, simply click on it under the settings of your WordPress dashboard and configure it with your API key. See the SendGrid API documentation.
It is an extremely simple solution. You just have to create a free account on Sendgrid (click “Try for Free” once you are on the SendGrid website ). Once logged in, go to the Settings> API Keys menu of your account.
Then click on the button “Create API Key” to generate an API key: it is a confidential code that allows Sendgrid to make sure that your WP Mail SMTP plugin is authorized to connect to their service!
Give this API key a name and restricted access (“Restricted Access”). Indeed, the important thing is that your WordPress plugin can use SendGrid to send e-mails but it does not need to access more features.
SendGrid allows to send up to 100 emails a day with a free account, which already offers a lot of possibilities!
How to send emails in SMTP with Gmail?
The method is a little more complex and concerns the situations where you want to use a Gmail account to send your messages by calling Google’s servers. In the list of send services offered by the WP Mail SMTP plugin, choose “Gmail”.
You must then sign in to your Google Account and visit the Gmail APIs page.
Start by choosing “Create Project” and then “Continue”:
Then on the screen, Gmail will ask you for some information. Here is what to answer:
Which API do you use? – Gmail API.
Which platform do you use to call the API? – Web server (example: node.js or Tomcat).
What data will you access? – User data.
Gmail then offers you to “Create OAuth 2.0 Client ID”.
Finally, it remains to fill the field “redirection URI allowed”. To find the information, go back to WordPress. At the very bottom of the WP Mail SMTP plugin configuration page, you will see an “Authorized redirect URI” line. Click on the button to its right to copy this URL then paste it on the Google site in the “Redirected URI” field.
Then click on the small pencil icon to access a summary of the configuration information.
Once done, confirm the settings. It will remain the last step: click on the orange button “Allow plugin to send emails using your Google account” to allow WP Mail SMTP to go through your Gmail account to send messages.
You will then be redirected to the plugin settings page and will see the message “You have successfully linked to the current site with your Google API project. Now you can start sending emails through Google. “
These WordPress plugins can effectively overcome the problem of sending e-mails via your site. This kind of difficulty can have many different causes:
problems of configuration,
a block caused by an excessive sending of e-mails,
a hacking and so on.
We have found a very interesting solution through a plugin called WP Mail SMTP that allows us to configure WordPress to send all mail via SMTP instead of sending them by using the mail in PHP using the default mail agent Linux, usually Be Sendmail, QMail, etc. SMTP sending is usually allowed in virtually for all hosting plans because it greatly reduces the chances of spamming, which is something that hosting companies want to avoid.
Install this plugin, configure the parameters of your SMTP account and you will have everything ready and without problems!
That’s it we hope this article helps you to arrange the sending of WordPress emails.
If none of the above solutions work for you, then the best thing to do is to get expert help. If you wish to not handle this by yourself, then get in touch and we can fix WordPress email not sending issue for you. WP Hacked Help is a subscription-based security, backup & WordPress repair service.