Tips & TricksWordPress

How to Set Up WordPress Email Notifications [SendGrid + WP Mail SMTP]

Have you noticed that you’re not receiving WordPress emails?

Unfortunately, WordPress not sending emails is a common problem, but it’s easy to fix. In this tutorial, we’ll walk you through how to set up WordPress email notifications with SendGrid using WP Mail SMTP.


When Email Notifications Don’t Work

This can be a tricky problem, because you may not notice that WordPress isn’t sending form notifications until people start filling out your form, and their messages don’t reach your email inbox.

You might notice form entries in your WordPress dashboard that haven’t been sent to your email, or discover there’s a problem when frustrated visitors reach out to you using social media or other methods.

Here’s what usually causes the problem…

By default, WordPress uses the PHP mail() function to send emails generated by WordPress or any contact plugin like WPForms.

The most common reason for missing these emails is when your WordPress hosting server isn’t configured to use the PHP mail() function.

Thankfully, you can work around this issue by using SMTP.

SMTP (Simple Mail Transfer Protocol) is the industry standard for sending emails. Unlike the PHP mail function, SMTP uses authentication which increases email deliverability. That’s why we recommend using SMTP to send emails in WordPress.

Why Use WP Mail SMTP with SendGrid?

There are many different SMTP services available, but many of these aren’t secure.

While some other methods require you to store sensitive login information in your WordPress dashboard, using a mailer like Mailgun or SendGrid in WP Mail SMTP will keep your email passwords secure.

And unlike Mailgun, SendGrid doesn’t require a credit card to sign up for a free account.

SendGrid offers a free plan for sending up to 100 per day. For most small businesses and personal websites, that’s plenty. If you need to send more, you will likely need a paid service.

How to Find Your SendGrid API Key

Before we can configure your website to work with SendGrid, we need to set up an account and find your SendGrid API key. This key is a unique identifier and a secret token for authentication that will allow your website to interact with your account at SendGrid.

First, you’ll need to sign up for a SendGrid account by visiting their pricing page. From here, you can choose the account type that fits your site’s needs.

For our example, we’ll be signing up for their free account (limited to 100 emails/day). However, the setup will be the same no matter which plan you choose.

sendgrid create account email api

Next, you’ll need to provide some info to SendGrid to create your account and set up a profile. Fill out your information and click on Create Account.

sendgrid signup wpmail smtp

After creating an account, click the Start button next to Integrate using our Web API or SMTP relay.

sendgrid setup screen

Next, you’ll be asked to choose a setup method. Click the Choose button under the SMTP Relay option.

select smtp relay sendgrid wordpress

On the next page, you’ll need to enter an API key name and then click Create Key.

Create a SendGrid API key

Once the API key has been generated, you’ll be ready to go to the next step. Be sure to leave this page open, as we’ll need this API key a little later.

copy sendgrid api key

Set Up WP Mail SMTP to Fix WordPress Emails

Now that you have the API key, we can get started setting up SendGrid with WP Mail SMTP on your WordPress site.

First, install the WP Mail SMTP plugin. Here’s a step by step guide on how to install a WordPress plugin.

Once WP Mail SMTP is installed, you’ll need to click on WP Mail SMTP in the left WordPress menu to open the plugin settings page and scroll to the From Email section.


By default, this will be filled in with your site’s admin email.

If you’d like the From Email to be the same site-wide, we recommend clicking on the Force From Email option. This option will save you the trouble of editing the email settings throughout your site.

Next, scroll down to the From Name.

By default, the From Name will display the site name. However, you can change this to any text you’d like.

And you can also check the box next to Force From Name to apply this From Name site-wide.

Set a From Name in WP Mail SMTP settings

Next, scroll down to the Mailer field. Select the SendGrid option.

select the sendgrid mailer option in settings

This is optional, but we also recommend checking the Return Path option to Set the return-path to match the From Email. That way, you’ll be automatically emailed if any messages bounce due to issues with the recipient’s email.


The final step on this page is to verify the integration you just created with SendGrid.

To do this, go back to the tab or window you left open on your SendGrid account information. There, check the box labeled I’ve updated my settings and then click Next: Verify Integration.

verify sendgrid integration

When the next page loads, click the Verify Integration button.

After a few moments, you should see a success screen confirming your setup is complete.

sendgrid success message

If you’d like, you can stop here and run a test email within WP Mail SMTP. However, for long-term delivery success we recommend verifying your domain. Let’s do that next.

Verify Your Domain in SendGrid

The best way to ensure that your emails continue to deliver successfully over time is to verify your domain. In SendGrid, this is called “whitelabeling”. It means that your emails will appear to come from your own domain rather than SendGrid.

To get started with domain verification, you’ll need to open Settings » Whitelabels in SendGrid’s left menu or follow this link.

Next, click the + Add Domain button.

add whitelabel domain sendgrid

This will open a new panel, where you’ll need to enter a subdomain to use for whitelabeling.

What does this mean? A subdomain replaces the “www” part of your website’s address; for example: “” Subdomains can be used to add separate sections or directories to your website (like how some sites have their blogs on a subdomain such as

For our example, we’ll use the subdomain “em”.

The subdomain can be anything you’d like, however SendGrid recommends:
Not using “mail” as many hosting companies will already use this and it could cause conflicts.
Not including any underscores (_) as this may not be compatible with some DNS providers

whitelabel domain sendgrid

You can leave the Automated Security option set to On, then click Save.

save automated security on sendgrid

Saving these settings will cause an overlay to appear. This will let you know that we still need to make DNS changes. We’ll do that in the next step.

SendGrid overlay to remind that DNS must be completed

After clicking Confirm, the next page will display a list of DNS records that you’ll need to add for your site.

For more details on modifying your site’s DNS, we recommend WPBeginner’s tutorial on DNS settings.

If you have additional questions about DNS or feel unsure about making changes, please contact your site’s hosting provider.

After adding these DNS records, click the Validate Records button. DNS changes can take up to 48 hours to be recognized, so you may need to check back on this later.

In the meantime, let’s continue to the other part of whitelabeling: Email Links.

Whitelabeling Email Links

Whitelabeling email links will allow any links in the emails that are sent to use your own domain, rather than SendGrid’s. This will help to further ensure delivery by keeping all links tied to your own site.

To whitelabel email links, return to Settings » Whitelabels in SendGrid’s left menu. Then, click the + Add Email Link button.

whitelabel email link sendgrid

In the overlay that opens, you’ll need to enter another subdomain to be used in email links. This can be anything you like, though SendGrid’s documentation suggests “link” or “click” as good options.

For this example, we’ll use “link” as our prefix. Then you’ll need to select your domain and Save these settings.

sendgrid whitelabel link

Just as we saw in the previous step, an additional overlay will appear reminding you that DNS changes will take up to 48 hours to take effect. Go ahead and click Confirm.

Next, you’ll be provided with two additional DNS records to add to your site.

dns record sendgrid

After adding these records to your site’s DNS, you can click the Validate Records button. Remember that this may take a while, so you may need to check back again later.

Sending a Test Email

Now that your setup is complete, you’re ready to try sending a test email. To do this, click on the Email Test tab in WP Mail SMTP.

send test email in wp mail smtp

On this tab, you can enter any email address that you have access to and click the Send Email button.

Once the email has processed, you should see a success message.

email success message

If you check the inbox for that email address, you should also receive the email for this test.

successful test email sent smtp

There you have it. You should now be able to get WordPress Email Notifications with SendGrid.

In Conclusion

That’s it! You now know how set up WordPress email notifications with SendGrid using WP Mail SMTP.


If you like this article, then please comment below.

Show More
Back to top button