Connection settings
- Host
- smtp-relay.brevo.com
- Port
- 587
- Security
- STARTTLS
Brevo (formerly Sendinblue) provides transactional SMTP relay at smtp-relay.brevo.com on port 587 with STARTTLS. The most common mistake is using the v3 REST API key as the SMTP password: Brevo issues separate credentials for SMTP and REST. This guide covers the exact settings, the SMTP key, how to read the handshake transcript, and the most frequent errors (535 auth failures, 550 sender rejections, 421 throttling).
Recommended settings
| Field | Value |
|---|---|
| Host | smtp-relay.brevo.com |
| Port | 587 (STARTTLS) or 465 (implicit TLS) |
| Security | STARTTLS on 587, TLS on 465 |
| Username | The SMTP login shown on the SMTP settings page (often your Brevo account email) |
| Password | An SMTP key generated in the dashboard (not the v3 API key) |
| Auth method | Auto, PLAIN, or LOGIN |
| From address | A validated sender or an address on an authenticated domain |
587 with STARTTLS is the standard choice for client submission; see SMTP port 587 vs 465 for the tradeoffs.
Finding your SMTP credentials
- Log in to the Brevo dashboard.
- Open the SMTP & API settings (under your profile / Settings menu, depending on the dashboard version).
- Select the SMTP tab. You will see:
- SMTP login: the username Brevo expects. In most accounts this is your Brevo account email address, but treat the value shown on the page as authoritative. Brevo may display a generated SMTP key username instead for some accounts.
- SMTP keys: a list of generated keys. Click the option to generate a new SMTP key if none exist.
- Copy the SMTP key value. This is your SMTP password.
The exact labels and menu locations shift as Brevo updates its dashboard, so trust the section named "SMTP" and its login/key fields rather than a fixed path.
Three credentials people confuse:
| Credential | Works for SMTP? |
|---|---|
| SMTP key (from the SMTP tab) | Yes |
| v3 API key (from the API keys section) | No, REST API only |
| Your Brevo account password | No |
Do not use the v3 API key even though it looks similar. It is a bearer token for HTTP calls to api.brevo.com and fails SMTP authentication every time. For background on the handshake stages this guide references, see what is an SMTP test.
Sender validation vs domain authentication
Brevo will not deliver mail from an address it cannot attribute to you, even with valid SMTP credentials. Two mechanisms cover this, and they are not the same thing:
- Sender validation (email confirmation): you register an individual address (for example
noreply@yourdomain.com) and Brevo emails a confirmation link to it. Clicking the link makes that address usable as a From address. Fast to set up, but every new address needs its own confirmation. - Domain authentication (SPF/DKIM): you register the whole domain and publish the DNS records Brevo asks for, typically DKIM plus SPF (
include:spf.brevo.com) and optionally DMARC. Once the domain checks out, any address on it can send, and Brevo signs the mail so receiving servers can verify it.
For a one-off test, a validated sender is enough. For production, authenticate the domain: DKIM-signed mail with aligned SPF and DMARC survives spam filters far better than unsigned mail from a lone validated sender.
Testing with SMTP Tester
- Host:
smtp-relay.brevo.com, port 587, security STARTTLS. - Username: the SMTP login shown on the SMTP settings page.
- Password: the SMTP key you copied.
- From: a validated sender address or an address on an authenticated domain.
- To: your own mailbox so you can confirm delivery end to end.
- Click Run. A
235 Authentication succeededresponse confirms login. - A
250 OKafter DATA means Brevo accepted the message for delivery.
Run the full test (message included), not just the handshake, when validating a new setup. The handshake proves credentials; DATA additionally proves your From address is accepted, which is where 550 errors live.
What each transcript stage means
- Connection: TCP connects to
smtp-relay.brevo.com:587. Brevo greets with220and its ESMTP banner. If this stage hangs, port 587 is blocked on your network. - EHLO: the client announces itself; the server lists supported extensions, including
STARTTLSandAUTH PLAIN LOGIN. Missing AUTH here means the TLS upgrade failed. - STARTTLS + TLS: the client requests encryption and the connection is renegotiated. A certificate mismatch surfaces here.
- AUTH: the client sends PLAIN or LOGIN credentials. Expect
235 Authentication succeededon success and535 Authentication failedotherwise. - MAIL FROM: the envelope sender. Brevo validates this against your senders and domains here; a rejection is the 550 described below.
- RCPT TO: the recipient. Brevo may also flag recipients here if your account hits a limit.
- DATA + message: headers and body go over the wire.
250after the final dot means queued for delivery. Check your inbox (and spam folder) after this.
Common errors
535 "Authentication failed" / "Unauthorized" / "Key not found"
- Using the API key instead of the SMTP key: the v3 API key does not work for SMTP. Use the SMTP key from the SMTP section.
- Using the account password: your Brevo login password is not an SMTP credential.
- Wrong username: use the SMTP login shown on the SMTP settings page. If it differs from your account email, the dashboard value wins.
- SMTP key was revoked or regenerated: regenerating a key invalidates the old one. Update every application that used it.
- Transactional service inactive: if the transactional feature is paused or unsubscribed in your account, SMTP auth can fail even with correct keys.
For a deeper walkthrough of this class of failure, see fixing SMTP authentication error 535. Some clients surface this family of failures as 401 Unauthorized in their own logs; the SMTP-level code to look for in the transcript is 535.
550 "Sender address rejected" / "Not authorized"
The From address is not validated or your domain is not authenticated. Fix options:
- Validate a single sender: add the address in your senders settings and click the confirmation email Brevo sends.
- Authenticate the domain: add the domain, publish the DKIM/SPF records, and wait for Brevo to verify them.
Brevo enforces sender attribution to prevent abuse. The rejection is not a bug in your SMTP client; fix it in the dashboard and rerun the test.
421 "Too many connections" / rate limit
Brevo throttles concurrent connections and message rates by plan. On the free plan the practical cap is around 300 emails per day; paid tiers raise the ceiling along with per-hour connection limits. Exact numbers change as Brevo revises its plans; check the limits page in your account. If you see 421 responses, wait before retrying, and audit for loops (a cron job firing every minute is the usual culprit).
Connection timeout
- Confirm you are using
smtp-relay.brevo.com. The oldsmtp-relay.sendinblue.comhostname still resolves, but update your configs. - Port 587 is standard. Try port 465 with implicit TLS if 587 is blocked (common on corporate and hosting networks).
- Do not expect port 25 to work for client submission; it is reserved for inbound MTA traffic and frequently blocked by ISPs.
Daily limits and plan caps
| Plan tier | Practical daily capacity |
|---|---|
| Free | Around 300 emails per day |
| Starter | Monthly quota, no per-day hard cap for typical volumes |
| Business / Enterprise | Higher quotas plus throughput options |
Brevo counts against your quota whether you send via SMTP or the API, and exhaustion usually shows up as 421 throttling rather than a clean quota error. If tests pass but scheduled sends fail later in the day, check the remaining quota in the dashboard first.
Nodemailer example
A minimal Node.js setup that mirrors the test above:
import nodemailer from "nodemailer";
const transporter = nodemailer.createTransport({
host: "smtp-relay.brevo.com",
port: 587,
secure: false, // STARTTLS on 587
auth: {
user: process.env.BREVO_SMTP_LOGIN, // SMTP login from the dashboard
pass: process.env.BREVO_SMTP_KEY, // SMTP key, not the API key
},
});
// validate credentials without sending
await transporter.verify();
await transporter.sendMail({
from: "noreply@yourdomain.com", // validated sender or authenticated domain
to: "you@example.com",
subject: "Brevo SMTP check",
text: "Sent via smtp-relay.brevo.com on port 587.",
});
Notes: secure: false is correct for port 587 (nodemailer upgrades to TLS via STARTTLS); set secure: true only with port 465.
WordPress and CMS plugins
WordPress SMTP plugins (WP Mail SMTP, Post SMTP, FluentSMTP) commonly fail with Brevo because users paste the API key into the password field. Always use:
- Host:
smtp-relay.brevo.com - Port: 587
- Encryption: TLS (this means STARTTLS in most plugin UIs)
- Username: SMTP login from the dashboard
- Password: SMTP key (not API key, not account password)
Test in SMTP Tester first to confirm credentials work before debugging the plugin. If the relay test passes but WordPress still fails, check that the plugin's "from email" matches a validated sender; that mismatch produces the 550 error even with perfect credentials.
Transactional vs marketing campaigns
Brevo separates the two:
- Transactional email (receipts, password resets, notifications) is what the SMTP relay and the
/v3/smtp/emailAPI endpoint serve. Your SMTP key and quotas belong to this pipeline. - Marketing campaigns (newsletters) are built and sent through the campaigns section of the dashboard, with separate contact lists, unsubscribe handling, and campaign-specific limits.
Do not route bulk newsletters through the SMTP relay: it violates provider rules and burns your transactional reputation. Keep transactional SMTP credentials for application-triggered mail only.
Brevo SMTP vs Brevo API
Both interfaces deliver through the same infrastructure:
- SMTP relay: works with any SMTP client (WordPress plugins, application frameworks, printers, scanners).
- v3 REST API: more features (templates, tags, scheduling), requires the v3 API key and HTTP requests.
Use SMTP when you need plug-and-play compatibility with existing systems; use the API for programmatic control. Sender and domain setup is shared, so switching later is easy.
Legacy hostname
If you see smtp-relay.sendinblue.com in older documentation or configs, it still works (DNS redirects to Brevo infrastructure), but update to smtp-relay.brevo.com for future-proofing. The credentials are the same.
Security notes
- Keep SMTP keys separate from API keys. If you expose one, revoke and regenerate it immediately in the dashboard.
- Brevo allows multiple SMTP keys; create one per application so you can revoke individually.
- SMTP Tester redacts credentials from the live transcript and never stores them server-side.
- Enable webhooks for bounces, complaints, and unsubscribes to protect your sender reputation.
- Do not store SMTP keys in version control. Use environment variables or a secrets manager.
Related guides
- Gmail SMTP test for Google Workspace and Gmail relay setups.
- SendGrid SMTP test for another major relay with an API-key-as-password model.
- Amazon SES SMTP test if you are comparing relays for high-volume sending.
- SMTP Tester vs smtper.net for how this tool compares to browser-based alternatives.
Frequently asked questions
Is the SMTP key the same as my Brevo account password?
No. The SMTP key is a separate credential generated on the SMTP settings page and used only for SMTP authentication. Your account password logs you into the dashboard and never works as an SMTP password. Regenerating the key invalidates the old one, so update every application that uses it.
Why does my v3 API key fail as the SMTP password?
The v3 API key authenticates HTTP requests to api.brevo.com. The SMTP relay uses a different credential system. Brevo shows both under SMTP & API settings; use the one on the SMTP tab.
How many emails can I send per day on the free plan?
Around 300 emails per day, subject to change as Brevo updates its plans. Test messages and production sends both count toward the cap, so heavy testing eats a slice of your quota. Check the limits shown in your account for the current number.
Can I send marketing campaigns over the SMTP relay?
Technically the relay accepts message data, but no. Campaigns belong in Brevo's campaign tools, which handle consent, unsubscribes, and per-campaign limits. Sending bulk marketing through transactional SMTP risks your deliverability and account standing.
Do I need both a validated sender and an authenticated domain?
At least one is required. A validated sender covers a single confirmed address and is fine for testing. An authenticated domain (DKIM, SPF, optionally DMARC) covers every address on it and improves deliverability, so use it for anything production-facing.
Does the old Sendinblue hostname still work?
Yes, smtp-relay.sendinblue.com currently resolves to the same infrastructure and accepts the same credentials. Update your configuration to smtp-relay.brevo.com anyway, since the legacy hostname is not guaranteed to keep working.