Brevo

Marketing & Transactional Email

10 min read

Brevo SMTP Settings

Complete guide to configure Brevo (formerly Sendinblue) SMTP for both marketing and transactional emails. Includes a generous free tier with 300 emails per day.

Brevo Brevo SMTP Quick Reference

SMTP Server smtp-relay.brevo.com
Port (TLS) 587 Recommended
Alternative Port 465 (SSL)
Encryption STARTTLS or SSL
Username Your Brevo account email
Password SMTP API Key (from Brevo dashboard)
Free Tier 300 emails/day
info

Sendinblue is now Brevo

Sendinblue rebranded to Brevo in May 2023. The SMTP settings remain the same, but the server hostname has changed to smtp-relay.brevo.com. Legacy smtp-relay.sendinblue.com still works but may be deprecated.

checklist Prerequisites

  • check_circle A Brevo account (free signup available)
  • check_circle SMTP API Key generated from your dashboard
  • check_circle Verified sender email or domain (recommended)

integration_instructions Step-by-Step Setup

1

Create Your SMTP API Key

  1. 1. Log in to your Brevo account
  2. 2. Go to Settings โ†’ SMTP & API
  3. 3. Click 'Generate a new SMTP Key'
  4. 4. Name your key and copy it immediately

Important: Copy your SMTP key immediately. For security, it won't be shown again.

2

Verify Your Sender

  1. 1. Go to Settings โ†’ Senders & Domains
  2. 2. Add a sender email address or verify your domain
  3. 3. For domain: Add DKIM and SPF records to your DNS
  4. 4. Click 'Verify' and wait for confirmation
3

Configure Your Application

Use these settings in your email client or application:

Server: smtp-relay.brevo.com

Port: 587 (TLS) or 465 (SSL)

Username: your-brevo-email@example.com

Password: your-smtp-api-key

code Code Examples

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# Brevo SMTP settings
SMTP_SERVER = "smtp-relay.brevo.com"
SMTP_PORT = 587
BREVO_EMAIL = "your-brevo-email@example.com"
SMTP_KEY = "your-smtp-api-key"

# Create message
msg = MIMEMultipart()
msg['From'] = "sender@yourdomain.com"
msg['To'] = "recipient@example.com"
msg['Subject'] = "Test from Brevo SMTP"

body = "This is a test email via Brevo."
msg.attach(MIMEText(body, 'plain'))

# Send email
with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
    server.starttls()
    server.login(BREVO_EMAIL, SMTP_KEY)
    server.send_message(msg)
    print("Email sent!")
<?php
use PHPMailer\PHPMailer\PHPMailer;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

$mail->isSMTP();
$mail->Host = 'smtp-relay.brevo.com';
$mail->SMTPAuth = true;
$mail->Username = 'your-brevo-email@example.com';
$mail->Password = 'your-smtp-api-key';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;

$mail->setFrom('sender@yourdomain.com', 'Your Name');
$mail->addAddress('recipient@example.com');
$mail->Subject = 'Test from Brevo SMTP';
$mail->Body = 'This is a test email via Brevo.';

$mail->send();
echo "Email sent!";
const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport({
    host: 'smtp-relay.brevo.com',
    port: 587,
    secure: false,
    auth: {
        user: 'your-brevo-email@example.com',
        pass: 'your-smtp-api-key'
    }
});

const mailOptions = {
    from: 'sender@yourdomain.com',
    to: 'recipient@example.com',
    subject: 'Test from Brevo SMTP',
    text: 'This is a test email via Brevo.'
};

transporter.sendMail(mailOptions, (error, info) => {
    if (error) console.error('Error:', error);
    else console.log('Email sent:', info.messageId);
});

payments Pricing

Plan Emails Price
Free 300/day Free forever
Starter 20,000/mo $25/mo
Business 20,000+/mo $65/mo
Enterprise Custom Contact sales

build Troubleshooting

error

Authentication Failed

Invalid credentials error

Fix: Use your Brevo account email as username and the SMTP API Key (not your account password) as password. Generate a new key if needed.

error

Daily Limit Reached

Free tier limit exceeded

Fix: Free tier is limited to 300 emails/day. Wait for the daily reset or upgrade to a paid plan for higher limits.

help Frequently Asked Questions

Can I use both marketing and transactional emails with Brevo? expand_more
Yes! Unlike Postmark, Brevo supports both marketing and transactional emails. You can use the same SMTP settings for both types.
Is smtp-relay.sendinblue.com still working? expand_more
Yes, the old Sendinblue hostname still works for backward compatibility. However, we recommend updating to smtp-relay.brevo.com as the old domain may be deprecated in the future.
Does the free tier have any limitations besides daily volume? expand_more
The free tier includes Brevo branding in emails and limited analytics. Paid plans remove branding and add advanced features like A/B testing, send time optimization, and dedicated IPs.