If you’re having problems with sending and receiving emails from your WordPress site, using a free SMTP server can offer improved reliability and deliverability at no cost.

By default, WordPress tries to send transactional emails via PHP mail, which leads to all kinds of problems. Transactional emails are your site’s automated emails such as password resets, order confirmations, etc.

SMTP, short for Simple Mail Transfer Protocol, lets you send your site’s emails via a dedicated email server. This means your site can send emails more reliably and those emails are less likely to end up in users’ spam folders.

In this post, we’ll look at seven free SMTP server options that you can use with your WordPress site, including the free Gmail SMTP server.

For each option, we’ll briefly introduce you to it, share any limitations with the free plan, and show you how to set it up on WordPress.

Check Out This Video Guide to Using a Free SMTP Server for WordPress Emails

What You Need to Use a Free SMTP Server With WordPress

To integrate any of these tools into your WordPress site, you’ll need a plugin.

Some of these tools offer their own dedicated integration plugins. If not, you can find several quality free SMTP plugins at WordPress.org, like Post SMTP Mailer/Email Log which is a 100% free relaunch of the popular Postman SMTP plugin.

For the tutorials below, we will use:

  • A service’s dedicated WordPress plugin when available.
  • Post SMTP Mailer/Email Log when a dedicated plugin isn’t available. You should be able to follow the same basic instructions with other plugins, though.

Ready? Let’s start!

7 Free SMTP Server Solutions to Use with WordPress

Here are the free SMTP providers that we’ll cover – keep reading for more detail on each tool:

Gmail SMTP Server

You probably already know Gmail for its free email offering. However, Google also lets you use Gmail as an SMTP server to send emails from your website.

With a free Gmail account, you can send up to 500 emails per rolling 24 hour period. Or, if you’re a paid Google Workspace subscriber ($6 per month), you can send up to 2,000 emails during the rolling 24 hour period.

Setting up the free Gmail SMTP server is a little more labor-intensive than some of these other tools. However, the extra effort is worth it as Gmail also offers the highest free sending limit of any tool on this list.

You can use Gmail’s SMTP server information in a number of different places. You can use this in your local email client like Microsoft Outlook or within your WordPress site, which is what we’ll focus on.

To set up Gmail with your WordPress site, you’ll need to:

  • Create a Google app
  • Configure your WordPress site to send via the app using a plugin

If you want to send emails from a custom domain (e.g. [email protected]) instead of Gmail ([email protected]), you’ll first need to set up and pay for Google Workspace. We have an entire post on why we like Google Workspace, as well as how to set up Google Workspace MX records to connect Google Workspace to your custom domain name.

If you’re fine sending emails from a Gmail address, you don’t need to do anything before starting the tutorial.

Here’s how to use the Gmail SMTP server to send WordPress emails…

1. Configure Post SMTP Mailer/Email Log

To tell your WordPress site to send via your Google app, you can install the free Post SMTP Mailer/Email Log plugin from WordPress.org.

Once you’ve activated it, go to the new Post SMTP tab in your WordPress dashboard and click Show All Settings to view all of the options.

First, go to the Message tab and set your “from” email address and name.

Once you’ve done that, go back to the Account tab and use the Type drop-down to select Gmail API. This will expose some additional options. Keep this page open because you’ll need the following information in the next step:

  • Authorized JavaScript origins
  • Authorized redirect URI
Free smtp server: Choose the Gmail API option
Choose the Gmail API option

2. Create a Google App

Next, you need to create a Google App. This is what allows your WordPress site (or any other app) to securely connect to the Gmail SMTP server to send emails.

To do this, open a new browser tab, go to the Google Developers Console, and create a new project. If this is your first time logging in, Google should prompt you to create a new project. Otherwise, you can do so by clicking the drop-down next to the Google APIs logo (indicated by [1] in the screenshot below).

Once you have your app, click the button to Enable APIs and Services:

Create a new Google Developers project
Create a new Google Developers project

 

Then, search for “Gmail” and select the result for Gmail API:

Search for the Gmail API
Search for the Gmail API

On the Gmail API results page, click the Enable button:

Enable the Gmail API
Enable the Gmail API

This should launch you into a dedicated interface for the Gmail API. To continue, click the button to Create Credentials:

Create credentials for the Gmail API
Create credentials for the Gmail API

First, fill out the Find out what kind of credentials you need section using the following settings:

  • Which API are you using? Gmail API
  • Where will you be calling the API from? Web browser (JavaScript)
  • What data will you be accessing? User data

Then, click the What credentials do I need? button:

Fill out credentials form
Fill out credentials form

Google will then prompt you to set up an OAuth consent screen. Click the button in the prompt to Set Up Consent Screen:

The prompt to create an OAuth consent screen
The prompt to create an OAuth consent screen

This will open a new tab for the OAuth consent screen. For the User Type, select External. Then, click Create:

Create an external consent screen
Create an external consent screen

On the next screen, enter the basic details for your site, such as the name and URL.

Don’t stress too much as you won’t actually need to use this information:

Configure the consent screen
Configure the consent screen

Once you’ve added everything, click the Save button at the bottom.

Then, go back to the Add credentials to your project tab and enter the following information:

  • Name – something easy to remember – e.g. the name of your website.
  • Authorized JavaScript origins – copy and paste this from the Post SMTP Mailer/Email Log plugin (Step #1).
  • Authorized redirect URIs – copy and paste this from the Post SMTP Mailer/Email Log plugin (Step #1).

Then, click Refresh:

Create your credentials
Create your credentials

The Refresh button should change to Create OAuth client ID. Click that button to finish the process. Then, click Done.

After clicking Done, you should see an entry in the OAuth 2.0 Client IDs section of the Credentials tab (you should automatically be taken to this page after clicking Done).

Click on the entry for your client ID to open its settings:

Access OAuth 2.0 client IDs
Access OAuth 2.0 client IDs

Then, look for two pieces of information:

  • Client ID
  • Client secret

Keep these two pieces of information handy because you’ll need them in the next step:

Your Gmail API client IDs
Your Gmail API client IDs

3. Add Client IDs to Post SMTP Mailer/Email Log

Now, go back to your WordPress dashboard and the Post SMTP Mailer/Email Log settings and paste in your Client ID and Client secret. Then, click Save Changes:

Add Gmail API client IDs to WordPress
Add Gmail API client IDs to WordPress

Once you do that, Post SMTP Mailer/Email Log will prompt you to Grant permission with Google:

Grant permission to Google
Grant permission to Google

When you click that link, it will open the normal Google authorization process. You’ll need to click through and give your site permission to access your Gmail account.

Because you didn’t submit your app to Google for review, Google will give you a warning that your app isn’t verified. Because you created the app yourself, you can safely ignore this warning. Click the link to show the advanced settings and then choose Go to “yourwebsite” to continue the authorization process:

Ignore the warning to continue
Ignore the warning to continue

Once you complete the authorization process, you’re all finished!

To verify that everything is working, the Post SMTP Mailer/Email Log plugin includes a feature to let you send a test email.

SendGrid

SendGrid is a popular transactional email service that’s easy to set up with WordPress thanks to its API integration method. It also gives you detailed analytics and logging.

SendGrid offers a one-month free trial that lets you send up to 40,000 emails. After your first month ends, you can continue to send up to 100 emails per day forever.

For smaller WordPress sites, this limit should be fine. If you do need to exceed the free limit, the paid plans start at $14.95 per month for up to 40,000 emails.

SendGrid also offers a separate service to let you send marketing emails if you’re interested. To set up SendGrid with WordPress, you’ll need to:

  • Generate a SendGrid API key
  • Add the API to WordPress using the dedicated WordPress plugin or a separate SMTP plugin

For the full tutorial, we have an entire post on how to use SendGrid with WordPress.

Pepipost

Pepipost is strictly an email sending service. You can connect it to any app or service, including your WordPress site. You’ll also get real-time reports to analyze the emails that you send.

Pepipost lets you send up to 100 emails per day for free forever. You’ll also be able to send up to 30,000 emails during your first 30 days.

If you need to exceed that limit, there’s no à la carte pricing. The next cheapest plan is $25 per month for up to 150,000 emails.

Here’s how to use Pepipost to deliver WordPress emails.

1. Authenticate Domain Name and Access API Key

To get started, register for a free Pepipost account to generate your API key.

Once you create your account, you’ll be prompted to add your WordPress site’s URL as a sending domain:

Free smtp server: Add domain to Pepipost
Add domain to Pepipost

You’ll then need to add two TXT records to your DNS records to authenticate your domain name.

If you’re hosting at Kinsta, you can add these TXT records to your domain from the Kinsta DNS tab in your MyKinsta dashboard. If you’re not sure how to do this, you can follow our guide to email authentication to learn how to add these DNS records and why they’re important.

Once you’ve authenticated your domain name, go to Settings → Integrations in your Pepipost dashboard to find your API key. Keep this value handy because you’ll need it in the next step:

Access Pepipost API key
Access Pepipost API key

2. Install and Configure Official Pepipost Plugin

Once you have your Pepipost API key, you can install the official Pepipost plugin from WordPress.org.

Then, go to the new Pepipost Settings tab in your WordPress dashboard and add your API key to the Api Key box.

Below that, you’ll also want to configure basic sender information, such as your from name and from email address.

Once you save your changes, you should be good to go. You can use the Send a Test Email section to make sure that everything is working properly:

Add API to Pepipost plugin settings
Add API to Pepipost plugin settings

Brevo (formerly Sendinblue)

Brevo can help you send both marketing emails and transactional emails (it’s also a good Mailchimp alternative). It has more of a focus on the marketing side of things, with marketing automation features and more.

Brevo also has one of the higher free sending limits, letting you send up to 300 emails per day forever. However, if you need to exceed those limits, the cheapest option is $25 per month for up to 40,000 emails/month. So, if you think there’s a chance that you’ll exceed 300 emails per day, this one might not be a good option.

To help you use Brevo with WordPress, the Brevo team offers a dedicated WordPress plugin.

Here’s how to use Sendinblue to deliver WordPress transactional emails for free.

1. Register and Generate API Key

To get started, register for a free Brevo account.

Once you’ve logged into your account, click on your username in the top-right corner and select the SMTP & API option. Or, you can visit this page while logged in.

Then, click the Create a New API key button. In the popup:

  • Choose Version 2.0
  • Give it a name to help you remember it (e.g. the name of your WordPress site)
  • Click Generate
Create a Sendinblue API 2.0 key
Create a Sendinblue API 2.0 key

 You should then see the value for your API key – keep this handy because you’ll need it in the next step.

2. Install Sendinblue (Brevo) Plugin

Next, install and activate the official Sendinblue plugin from WordPress.org.

Then, click on the new Sendinblue tab in your WordPress dashboard and add your API key to the box. Then, click Login.

Free smtp server: Add API key to Sendinblue plugin settings
Add API key to Sendinblue plugin settings

You should then see the plugin’s full settings area.

To start sending your site’s transactional emails via Sendinblue’s free SMTP server, select the Yes radio button in the Transactional emails section.

Then, you can select your sender information (you can control this from your Sendinblue dashboard) and send a test email:

Enable sending transactional emails with Sendinblue
Enable sending transactional emails with Sendinblue

Mailjet

Mailjet is an affordable email solution that can help with both marketing emails and transactional emails. For the SMTP sending service, you can send up to 200 emails per day for free forever, though your emails will include the Mailjet logo in the footer.

To remove the logo and/or increase your sending limit, paid plans start at just $9.65 per month for up to 30,000 emails per month.

Here’s how to use Mailjet to send WordPress emails.

1. Register and Access API Key

To get started, register for a free Mailjet account to access your Mailjet API key.

Once you activate your Mailjet account, go to Transactional → Overview in your Mailjet dashboard to find your API keys:

Access Mailjet API key
Access Mailjet API key

You can also use the Configuration options on the right to add and authenticate your sender domains and addresses. This will help improve the deliverability of your emails.

2. Install Official Plugin

To configure your WordPress site to send transactional emails via Mailjet, Mailjet offers a dedicated integration plugin at WordPress.org.

Once you’ve installed and activated the plugin, go to the new Mailjet tab in your WordPress dashboard and add the API keys from your Mailjet account:

Add Mailjet API keys to plugin settings
Add Mailjet API keys to plugin settings

After connecting your Mailjet account, you’ll see an option to sync your registered WordPress users with Mailjet. If you only want to use Mailjet for transactional emails, you can just click the button to Skip this step.

Then, open the Mailjet plugin settings in your WordPress dashboard (Mailjet → Settings) and select Sending settings.

Check the box to Enable sending emails through Mailjet. Then, fill out your sender information and send a test email to make sure everything is working:

Free smtp server: Enable Mailjet for email sending
Enable Mailjet for email sending

Elastic Email

Elastic Email offers an affordable SMTP sending service with a forever free plan and cheap pay-as-you-go pricing. With the forever free plan, you can send up to 100 emails per day. To go beyond that limit, you’ll only pay for your usage – $0.09 per 1,000 emails.

You can also purchase a private IP address for $1 per day, as well as several other add-ons (such as email attachments).

1. Register and Access API Key

To get started, register for a free Elastic Email account to access your Elastic Email API key.

Once you activate your account, click on your username in the top-right corner and select Settings.

Then, go to the API tab and give consent that you won’t spam users. Once you give consent, Elastic Email will show you a button to Create API Key:

Free smtp server: Create an Elastic Email API key
Create an Elastic Email API key

Give the API key a name to help you remember it and select Plugin for the Permissions level:

Configuring your API key settings
Configuring your API key settings

Then, you should see the value for your API key. Make sure to keep this window open because you’ll need it in the next step and Elastic Email will only show this once.

2. Install Official Plugin

To help you use Elastic Email with WordPress, Elastic Email offers an official plugin at WordPress.org called Elastic Email Sender.

Once you install and activate the plugin on your WordPress site, you can go to the new Elastic Email Sender tab in your WordPress dashboard. Then configure the following details:

  • Select mailer – Send all WordPress emails via Elastic Email API.
  • Elastic Email API Key – add the API key from the previous step.
  • Email type – Transactional
  • From name and email

Then, click Save Changes:

Add Elastic Email API key to WordPress plugin
Add Elastic Email API key to WordPress plugin

You should then see a success message.

To make sure everything is working properly, go to Elastic Email Sender → Send test to send a test email.

Mailgun

Mailgun no longer offers a forever free plan like these other tools. However, we’re still including it because it offers a lengthy three-month trial, as well as affordable pay-as-you-go pricing after that. Still, if you want something that’s 100% free forever, Mailgun is no longer an option.

Mailgun offers an easy API-based sending service that you can integrate with WordPress in just a few minutes.

You can send up to 5,000 emails per month for your first three months for free. After that, you can use pay-as-you-go pricing starting at $0.80 per 1,000 emails.

We have an entire guide on how to use Mailgun with WordPress.

Summary

By default, the way that WordPress sends emails leads to all kinds of issues with reliability and deliverability. To fix issues with your WordPress site’s transactional emails, you should use a dedicated SMTP server, rather than relying on WordPress’s default options.

Thankfully, with a free SMTP server, you can get access to reliable WordPress transactional emails without spending a dime.

Here are the key aspects you should know about the different solutions you could take advantage of:

  • Gmail SMTP server – lets you send up to 500 emails per 24 hour period with a free Gmail account or 2,000 emails if you pay for Google Workspace.
  • SendGrid – lets you send 100 emails per day forever (and 40,000 emails free during your first month).
  • Pepipost – lets you send 100 emails per day forever (and 30,000 emails free during your first 30 days).
  • Sendinblue – lets you send 300 emails per day forever.
  • Mailjet – lets you send up to 200 emails per day forever.
  • Elastic Email – lets you send up to 100 emails per day forever, with cheap pay-as-you-go pricing after that.
  • Mailgun – lets you send 5,000 emails per month for free but only for your first 3 months. After that, it has cheap pay-as-you-go pricing, though.

For the highest free sending limit, you can set up the Gmail SMTP server. However, Gmail also has the most labor-intensive setup process.

For simpler setups, you can consider other free options such as Sendinblue (300 emails per day) or SendGrid (100 emails per day).

Matteo Duò Kinsta

Head of Content at Kinsta and Content Marketing Consultant for WordPress plugin developers. Connect with Matteo on Twitter.