You can use Brevo for WordPress to route transactional email—such as password-reset messages, comment notifications, contact-form messages, or WooCommerce email—through Brevo’s sending infrastructure instead of your host’s default sending system. The setup is successful when a test email reaches the inbox, displays the correct sender, and appears in the transactional email log.
The Free plan currently limits you to 300 emails per day; unused capacity does not roll over to the next day, and emails generated by WordPress count toward this limit (according to help.brevo.com). This process is for transactional email, not for sending bulk marketing newsletters.
Prepare Correctly Before Installation
- A Brevo account with access to transactional email or SMTP.
- A WordPress website where you have administrator access and can install and activate plugins.
- A sender address on a domain you control, such as
no-reply@abc.com. - Permission to edit DNS records if you want to authenticate the domain.
- An inbox where you can receive the test email.
- Do not enable two plugins that simultaneously change how WordPress sends email.
Your hosting provider must also allow the website to make outbound HTTPS connections. If the provider blocks outgoing connections, the plugin may be unable to communicate with Brevo even when the API key is correct. This guide does not replace instructions for configuring the server, PHP, the database, or WordPress core; those components only need to be working normally before you begin.
Transactional email is generated after a specific action, such as resetting a password or submitting a form. Promotional newsletters require a separate contact-list and consent process and should not be sent through this workflow.
1. Create and Verify a Sender
A sender consists of a display name and the address in the Fromfield. Choose an address that recipients will recognize, such as Hỗ trợ ABC <support@abc.com>.
- Log in to Brevo.
- Open Settings > Senders, Domains, IPs > Senders.
- Select Add a sender.
- Enter the From name and From email.
- Select Save.
- Open the sender address’s inbox and enter the verification code if Brevo asks you to.
A sender can be used only after Brevo verifies the corresponding address or domain. The interface may automatically verify a sender belonging to an authenticated domain; if it does not, you must still complete verification by email (according to help.brevo.com).
2. Authenticate the domain with DNS
Domain authentication allows Brevo to send email on behalf of your domain and helps receiving mail systems check the authentication records. Use only the record values displayed in your Brevo account; do not copy DKIM or DMARC values from examples found online.
Automatic authentication
- Go to Settings > Senders, Domains, IPs > Domains.
- Select Add a domain or Authenticate.
- Enter the domain, for example
abc.com, do not enter thehttps://. - Select the automatic option if your DNS provider is supported.
- Sign in to your DNS provider through the Brevo window and grant the required permissions.
- Return to Brevo and check the domain status.
Add the records manually
- On Brevo's authentication page, copy each Record name and Value.
- Open the DNS management page at your domain registrar or DNS provider, such as Cloudflare.
- Add the exact record type requested by Brevo, usually TXT or CNAME.
- Keep the record name, DKIM selector, and value unchanged; do not add quotation marks unless the DNS interface requires them.
- Save the records, wait for DNS to update, then return to Brevo and select Authenticate or Verify.
Depending on your account, Brevo may require a verification code, DKIM, and DMARC in TXT or CNAME format. Because the specific values depend on the domain and account, use only the records displayed on your screen (according to help.brevo.com).
Before proceeding, check that the sender uses the correct authenticated domain. For example, with no-reply@abc.com, authenticate abc.com or configure authentication for the domain displayed by Brevo.
3. Activate transactional email and create an API key
Do not confuse the API key with the SMTP key:
- API key v3: used to connect the official Brevo plugin to your Brevo account.
- SMTP key: used when you configure SMTP manually with a plugin or another application.
- Open the Transactional or SMTP & API section in Brevo.
- If Brevo requires transactional email activation, complete the activation process or submit a support request.
- Check that the verified sender appears in the transactional senders section.
- Go to Settings > SMTP & API > API Keys & MCP.
- Select Create a v3 API key, give it a recognizable name, such as
wordpress-abc-production, then copy the key once. - Store the key in a password manager. Do not include it in an article, screenshot or public code repository.
The API key is shown in full when it is created and is used to connect the plugin; it does not replace the SMTP key used for manual SMTP configuration (according to help.brevo.com).
4. Install the official Brevo plugin on WordPress
- Sign in to the WordPress admin dashboard.
- Go to Plugins > Add New Plugin.
- Search for Brevo – Email, SMS, Web Push, Chat, and more or an equivalent plugin name published by Brevo.
- Select Install Now, then select Activate.
- Open Brevo > Home.
- In the section for connecting with a v3 API key, paste the key you created and select Login or the corresponding connection button.
If the plugin name shown in the interface differs, check the developer and plugin page before installing it. Do not install another SMTP plugin simply because its name looks similar. The Brevo plugin can connect the website and route WordPress transactional emails through Brevo; user-list synchronization is a separate process (according to help.brevo.com).
5. Enable email delivery through Brevo and send a test email

- In WordPress, go to Brevo > Home.
- Find the Transactional emailssection.
- Enable email delivery through Brevo by selecting Yes or the equivalent button.
- Select the verified sender.
- Enter an email address that you control in the test-email recipient field.
- Select Send email.
The expected result is that the email arrives in the inbox, the From field shows the correct sender, and no connection error appears. If the plugin interface uses a different button name, choose the action with the same meaning instead of entering an SMTP key in the API key field.
6. Check emails generated by the website
A test email checks only the basic connection path. Also perform a real action appropriate for the website:
| Goal | Example action | Result to verify |
|---|---|---|
| Password reset | Open the WordPress login page and request a password-reset link | The email arrives in the correct inbox, the link works, and no sensitive data is exposed |
| Comment | Submit a test comment when the website has notifications or moderation enabled | The subject, sender and administration link are correct |
| Form | Submit a test form using non-sensitive data | The administrator’s inbox receives all form-field content |
| WooCommerce | Create a test order in an appropriate environment | The order-status email uses the correct sender |
Then open the transactional email report in Brevo. Statuses such as delivered, deferred, invalid and error help distinguish messages that were accepted, are pending, have an invalid address, or encountered a sending error (according to help.brevo.com).
Troubleshooting common issues
Transactional email is not activated
Check the transactional email status in Brevo. If the account has not been activated, submit a support request according to Brevo’s instructions. Creating another API key cannot replace account activation.
Email uses the wrong From address
Check the selected sender in Brevo > Home and verify the sender again if necessary. The technical login address ending in @smtp-brevo.com, if it appears in the SMTP configuration, is not the From address shown to recipients.
Two SMTP plugins are active
Two plugins can both interfere with wp_mail(). Record the current configuration, temporarily disable the other SMTP plugin, send the test email again, and keep only one sending path after confirming the result.
Email goes to spam or fails authentication
Check whether the sender belongs to an authenticated domain. In Gmail, open Show original and review the SPF, DKIM, and DMARC results. If DNS contains multiple separate SPF records, do not arbitrarily create a second record; merge them according to your DNS provider’s instructions.
The limit of 300 emails per day has been exceeded
Check the transactional report before sending repeatedly. Look for a plugin generating duplicate emails, reduce duplicate notifications, or upgrade the plan if your needs exceed the limit. A retry queue does not guarantee that every email exceeding the limit will reach its recipient.
Acceptance checklist
- The sender displays the correct name and address.
- The sender has been verified.
- The sending domain has been authenticated, or you understand the limitations of leaving it unauthenticated.
- Transactional email has been activated.
- The Brevo plugin is connected with a v3 API key.
- No other SMTP plugin is controlling sending
wp_mail(). - The test email reaches the inbox and displays the correct From field.
- An email generated by a real website action appears in the transactional report.
- The API key and SMTP credentials are not included in source code or public content.
- You have accounted for your sending needs within the Free plan’s limit of 300 emails per day.
How to restore the previous configuration
If WordPress stops sending email after you enable Brevo, go to Brevo > Home and disable the option to send transactional email through Brevo. If you previously disabled the old SMTP plugin, reactivate it and send a test email through the previous sending path.
Do not immediately delete DNS records or the API key before identifying the cause. If the API key has been exposed or is no longer in use, revoke it after the replacement sending path is working. Changing the key is not the first measure for resolving delivery problems.
The process is complete when the test email and at least one email generated by a real action both use the correct sender, are recorded in the Brevo report, and remain within the usage limit.

