Skip to content
Email and SMTP

WP Mail SMTP Setup Guide: Brevo, Amazon SES and Gmail

A step-by-step WP Mail SMTP setup: choosing a mailer, connecting Brevo, Amazon SES or Google, forcing the From address, sending a test email and checking what went wrong.

Harsh PrajapatiFull stack developer
Published
Reading time
9 min

WP Mail SMTP Setup Guide: Brevo, Amazon SES and Gmail

To set up WP Mail SMTP, install the plugin, go to WP Mail SMTP > Settings > General, enter a From Email on your own domain, choose a mailer such as Brevo, paste in the API key from that service, save, and send a test from WP Mail SMTP > Tools > Email Test. Before the test, verify your domain with the mail service so its SPF and DKIM records are in place. Most of the time goes on DNS, which can take hours to verify.

This guide uses the free version for Brevo and Google, and notes where Amazon SES and the email log need WP Mail SMTP Pro. Menu names and fields are taken from WP Mail SMTP's own documentation as checked in November 2026. If you have not chosen a plugin yet, see our comparison of WordPress SMTP plugins first.

#Before you start

Have three things ready before you open WordPress: an account with a sending service, access to your domain's DNS, and an address on your domain to send from. The sending service is the company that actually delivers the email, for example Brevo, Amazon SES or Google Workspace. DNS access is where you add the records that prove you own the domain, usually at your registrar, your host or Cloudflare.

Pick an address such as orders@yourdomain.com or noreply@yourdomain.com. Do not use a Gmail or Yahoo address as the From address for a website on another domain. WooCommerce's own email guidance warns that public addresses like these are likely to land in spam.

MailerFree in WP Mail SMTP?You will need
BrevoYesBrevo account, API key, domain authenticated in Brevo
Google / GmailYes (manual setup); one-click setup needs ProGoogle Cloud project, OAuth Client ID and Client Secret
Amazon SESNo, Pro onlyAWS account, IAM access key, verified domain, production access
Other SMTPYesSMTP host, port, encryption, username and password

#The setup at a glance

  1. Authenticate domain with mail service
  2. Install WP Mail SMTP
  3. Set From Email and From Name
  4. Choose mailer and paste key
  5. Send test email
  6. Check debug events

#Step 1: Install the plugin and open the settings

Install WP Mail SMTP from Plugins > Add New, activate it, and either follow the setup wizard or skip it and go straight to the settings. The wizard should open on activation, and you can start it again later with the Launch Setup Wizard button on WP Mail SMTP > Settings. The steps below use the settings screen, because it shows every field in one place.

  1. In WordPress, go to Plugins > Add New, search for "WP Mail SMTP", then click Install Now and Activate.
  2. Go to WP Mail SMTP > Settings > General.
  3. Leave this tab open. You will come back after setting up the mail service.

If you already have another SMTP plugin active, deactivate it after WP Mail SMTP is tested. Two mailer plugins fighting over WordPress email is a common cause of random failures.

#Step 2: Set the From Email and From Name

The From Email is the address your site's emails come from, and it must be on the domain you verify with the mail service. WP Mail SMTP's Brevo guide is explicit that the authorised domain must match the domain in the From Email, including any subdomain.

  1. In From Email, enter your address, for example noreply@yourdomain.com.
  2. Tick Force From Email if every email should use this address, whatever other plugins ask for. This stops a contact form plugin sending "from" the visitor's Gmail address, which would fail authentication.
  3. In From Name, enter your business name. Tick Force From Name if you want it on every email.

Leave Force From Email unticked only if you deliberately send from several verified addresses, for example with Gmail aliases.

#Step 3: Connect your mailer

Choose one mailer below, follow its steps, then click Save Settings.

#Option A: Brevo (free mailer)

Brevo connects by API key, and its domain authentication adds the DKIM record that helps you reach the inbox.

  1. In Brevo, open your company name menu at the top right, then Settings > Senders, domains, IPs > Domains, and click Add domains.
  2. Enter your domain, choose Authenticate the domain yourself, and add the DNS records Brevo shows: a Brevo code TXT record, a DKIM TXT record at mail._domainkey and, optionally, a DMARC record at _dmarc.
  3. Still in Brevo settings, open SMTP & API, then the API keys tab, generate a new key, name it after your site and copy it straight away. Brevo shows it only once.
  4. Back in WordPress, set Mailer to Brevo and paste the key into API Key.
  5. Optionally, enter your domain in Sending Domain so the plugin can check DNS when you send a test.

If the test later fails with "unauthorized: not verified", Brevo is blocking your server's IP address. Add it in Brevo's security settings under authorised IPs.

#Option B: Amazon SES (Pro)

Amazon SES is cheap at volume but has the most setup, and it is a Pro mailer in WP Mail SMTP.

  1. In AWS, create an IAM user for the site and an access key for it. WP Mail SMTP's guide attaches the AmazonSESFullAccess policy. Save the Access Key ID and Secret Access Key, because AWS shows the secret once.
  2. In the SES console, verify your domain under Identities by adding the three CNAME records SES gives you.
  3. Request production access. AWS places every new account in a sandbox, separately in each region, where you can only send to verified addresses, up to 200 messages per 24 hours and 1 per second. AWS says it gives an initial response within 96 hours.
  4. In WordPress, set Mailer to Amazon SES, enter the Access Key ID and Secret Access Key, and make sure Closest Region matches the region where you verified the domain.

Our article on SMTP errors covers the access-denied and region mismatch messages that SES setups often hit.

#Option C: Google Workspace or Gmail (free, manual setup)

The Google mailer sends through your Google account using OAuth, a secure sign-in that avoids storing your password in WordPress. One-click setup needs Pro; the manual route is free but takes longer.

  1. In Google Cloud Console, create or select a project and enable the Gmail API.
  2. Fill in the OAuth consent screen, then create an OAuth client ID of type Web application.
  3. Under Authorized redirect URIs, add https://connect.wpmailsmtp.com/google/.
  4. Copy the Client ID and Client Secret into the Google / Gmail mailer settings in WP Mail SMTP and click Save Settings.
  5. Click Allow plugin to send emails using your Google account, sign in and approve.
  6. Set the app's publishing status to production, as WP Mail SMTP's guide instructs, or the connection will stop working.

Google sending is fine for a contact form, but it is a mailbox, not a bulk sender. For a busy store, a transactional service such as Brevo or Amazon SES is the safer choice.

#Option D: Other SMTP

Use Other SMTP when your provider only offers SMTP login details. Fill in SMTP Host, Encryption, SMTP Port, Authentication, SMTP Username and SMTP Password, then tick Set the return-path to match the From Email so bounces come back to you. WP Mail SMTP warns that this mailer stores the password where other admins can see it, and recommends defining it as a constant in the site's configuration file instead. Our guide to SMTP settings, ports and encryption explains which port and encryption to pick.

#Step 4: Send a test email

Send the test only after the mail service shows your domain as verified, or the result will mislead you.

  1. Go to WP Mail SMTP > Tools and open the Email Test tab.
  2. Enter an address you can check, ideally a Gmail or Outlook inbox outside your domain.
  3. Leave HTML on and click Send Email.
  4. Open the email and check it arrived in the inbox, not spam. In Gmail, "Show original" shows whether SPF and DKIM passed.

A success message means the mail service accepted the email. It does not prove inbox delivery, so always check the receiving inbox. If tests land in spam, our guide to why emails go to spam covers the usual causes.

#Step 5: Logs, alerts and debugging

Turn on enough logging to know when email fails. In WP Mail SMTP > Tools, the Debug Events tab records email sending errors by default, and you can tick Debug Email Sending to record every step while you troubleshoot.

The full email log, which stores the subject, recipient and status of every message, is a Pro feature, as are failure alerts by email, Slack, Microsoft Teams, Discord, SMS or webhook, and the backup connection that takes over if your main mailer fails. For a shop or a lead-driven site, those three features are the difference between hearing about a problem in minutes or from an unhappy customer. If you want them without a subscription, FluentSMTP includes them free.

After setup, test every email that matters: a contact form, a password reset and, on a store, a real order. If order emails still do not arrive, follow our guide to WooCommerce emails not sending.

#When to get help

Get help when DNS changes feel risky, when your domain already sends business email that you cannot afford to break, or when tests pass but customers still say they get nothing. Adding a second SPF record instead of editing the existing one, for example, can break all email for the domain.

The SMTP and transactional email setup service covers the provider account, DNS records, plugin configuration and testing of each email type. For ongoing checks of logs and updates, see website maintenance and support.

Frequently asked questions

Is WP Mail SMTP free?

Yes, the free version of WP Mail SMTP connects to services such as Brevo, SendGrid, Mailgun, Postmark and Gmail. The Amazon SES mailer, email log, failure alerts and backup connection need WP Mail SMTP Pro.

Where is the WP Mail SMTP test email?

The test email is under WP Mail SMTP > Tools, on the Email Test tab. Enter an address you can check, leave HTML on and click Send Email, then confirm it reached the inbox and not spam.

Should I tick Force From Email?

Tick Force From Email if all your site's email should come from one verified address. It stops other plugins sending from addresses on domains you have not authenticated, which is a common reason form notifications fail.

Why does WP Mail SMTP say the test was sent but nothing arrives?

A sent message means the mail service accepted it, not that it reached the inbox. Check spam, confirm the domain is verified with the service, check SPF and DKIM, and look at the service's own activity log for bounces or blocks.

Can I use my Gmail address as the From Email?

Only if you send through the Google mailer from that same account. With any other mailer, use an address on your website's domain, because sending "from" a Gmail address through another service fails authentication and lands in spam.

Sources

The facts in this article were checked against these pages, last reviewed 12 November 2026.

  1. How to set up the Brevo mailer in WP Mail SMTP, WP Mail SMTP docswpmailsmtp.com/docs/how-to-set-up-the-sendinblue-mailer-in-wp-mail-smtp/
  2. How to set up the Amazon SES mailer in WP Mail SMTP, WP Mail SMTP docswpmailsmtp.com/docs/how-to-set-up-the-amazon-ses-mailer-in-wp-mail-smtp/
  3. How to set up the Gmail mailer in WP Mail SMTP, WP Mail SMTP docswpmailsmtp.com/docs/how-to-set-up-the-gmail-mailer-in-wp-mail-smtp/
  4. How to set up the Other SMTP mailer, WP Mail SMTP docswpmailsmtp.com/docs/how-to-set-up-the-other-smtp-mailer-in-wp-mail-smtp/
  5. Debugging sending issues, WP Mail SMTP docswpmailsmtp.com/docs/how-to-debug-email-sending-issues-in-wp-mail-smtp/
  6. WP Mail SMTP plugin, WordPress.orgwordpress.org/plugins/wp-mail-smtp/
  7. Request production access, Amazon SES Developer Guidedocs.aws.amazon.com/ses/latest/dg/request-production-access.html
Harsh Prajapati, the author

Written by

Harsh Prajapati

Freelance full stack developer, founder of Worklancio

Web developer since 2018, freelancing since 2022. Builds WordPress sites and plugins, web apps and CRMs from Ahmedabad.

You may also like