Before you start
Grade school
You need your own website name, a work email address on it, and someone who can change your domain’s settings.
High school
- A branded business address to sign up with, e.g.
owner@brand.example. - Access to the company that runs your domain’s DNS.
- Administrator access to your storefront’s WordPress, or someone who has it.
- A Brevo plan that fits your volume. Brevo’s pricing is between you and Brevo.
College
Open the account in your organization’s name so logs, contacts and sending reputation stay yours. Brevo also offers marketing tools; YPB storefront transactional email only needs its transactional sending. The Brevo mailer is in the free WP Mail SMTP plugin.
Postgraduate
Separate transactional and marketing use deliberately. Marketing campaigns carry unsubscribe and complaint dynamics that can affect domain reputation, so consider a distinct subdomain or account for campaigns if you run them from Brevo too.
Developer
Prerequisites: Brevo account with 2FA; DNS write access; WP Mail SMTP active; outbound HTTPS to Brevo’s API host allowed. If your Brevo account restricts API use to authorised IP addresses, your site’s outbound IP must be allowed there or requests will be refused.
Authenticate your domain
Grade school
Brevo gives you a few notes for your domain’s settings. Add them, then Brevo checks them. If you already have a “DMARC” note, keep yours.
High school
In Brevo, open Senders, domains & dedicated IPs → Domains, add your domain and choose to authenticate it. Brevo shows records made for your account, typically:
TXTbrand.example (root)Shown in your Brevo accountBrevo code — ownership checkTXT or CNAMEDKIM host shown by BrevoShown in your Brevo accountDKIM signatureTXT_dmarc.brand.exampleShown in your Brevo accountDMARC — only if you have noneCollege
The Brevo code is a TXT ownership token at your root. DKIM publishes Brevo’s signing key for your domain; the exact host and record type are shown in your account, so copy them rather than guessing. Adding a TXT at the root doesn’t conflict with your SPF record as long as you don’t create a second v=spf1 record.
Postgraduate
Gmail, Yahoo and Microsoft now require authenticated sending; Brevo treats domain authentication as mandatory. Its automatic DNS setup is convenient but can overwrite an existing DMARC policy, which would be a policy regression for your whole domain. Manual setup keeps DMARC under your control.
Developer
Records (placeholders): root TXT "brevo-code:[value]"; DKIM as displayed (commonly mail._domainkey TXT "k=rsa; p=[key]", or the CNAMEs your account shows); DMARC only if absent. Source: Brevo domain authentication and API reference.
Create an API key
Grade school
Make a secret key in Brevo and put it straight into your website. Don’t send it to anyone.
High school
In Brevo, open SMTP & API → API keys and generate a new v3 API key. Copy it straight into WP Mail SMTP. Use the API key, not the separate “SMTP key” — and never paste the masked version shown later in your account.
College
Brevo has two credential types: API keys (for its HTTP API, which WP Mail SMTP uses) and SMTP keys (for its SMTP relay). The WP Mail SMTP Brevo mailer needs a v3 API key. Name it after the site that uses it so you can revoke it independently later.
Postgraduate
Use one key per consuming site or environment where independent revocation matters. Combine key scoping with Brevo’s authorised-IP control where your hosting has stable egress addresses, to limit abuse of a leaked key.
Developer
WP Mail SMTP’s Brevo mailer calls Brevo’s v3 transactional API with the key in the api-key header. Store it via constants where possible. Masked keys copied from the dashboard fail authentication — see WP Mail SMTP Brevo setup.
Connect your storefront
Grade school
In your website’s settings, pick Brevo, paste the key, and type the name and email your customers should see.
High school
- In WordPress, open WP Mail SMTP → Settings.
- Set From Email to your branded sender and tick Force From Email; set From Name.
- Choose the Brevo mailer and paste your API key.
- Optional: enter your authenticated domain in Sending Domain.
- Save, and set Reply-To in WooCommerce → Settings → Emails.
College
The From address must be on the domain you authenticated in Brevo, otherwise Brevo may reject or rewrite the sender. The Sending Domain field only helps the plugin diagnose DNS problems; it doesn’t authenticate anything by itself.
Postgraduate
Keep the credential out of the admin database where multiple administrators share access, using constants deployed through your own secret handling, so settings access and credential access stay separate.
Developer
Constants: WPMS_ON, WPMS_MAILER set to the Brevo mailer ID, and the Brevo API key constant, per WP Mail SMTP constants. Allow Brevo’s API host through any outbound HTTP block.
Test and verify
Grade school
Send a test email to yourself, check it looks right, and reply to it.
High school
Send WP Mail SMTP → Tools → Email Test to your own branded address, then check a real order email from a test copy of your site. Brevo’s transactional logs show whether each message was delivered or bounced.
College
Check the received message’s headers for SPF, DKIM and DMARC passing for your domain, and confirm the Reply-To. The plugin test proves transport only.
Postgraduate
Record accepted, delivered, authenticated, rendered and replied as separate results per environment. Watch complaint and bounce rates in Brevo once live.
Developer
Expect dkim=pass header.d=brand.example and dmarc=pass header.from=brand.example. Correlate with the Brevo message ID in transactional logs.
If it doesn’t work
- “Key not found” or 401: you used the SMTP key or a masked value. Generate a new v3 API key.
- Requests refused from unknown IP: your Brevo account restricts API use by IP. Allow your site’s outbound IP in Brevo’s security settings.
- Sender rejected: the From address isn’t on a verified Brevo domain or sender.
- Domain won’t authenticate: compare each record exactly, check for a doubled domain name, and wait for DNS to update.
Still stuck? See Getting help. Don’t send your key to anyone.
