Back to blog

How to Import a Clean Email List Into Brevo (Sendinblue)

Clean your contacts with SMTP and M365 verification before importing into Brevo. Fewer bounces, better deliverability, and less compliance risk.

On this page · 7 sections

Brevo (formerly Sendinblue) takes list quality seriously. Import a file with a high ratio of invalid addresses and you will see it in your deliverability metrics fast, or in a support conversation about your sending account.

Cleaning before import is almost always the right call. The workflow is straightforward.

Step 0: what "cleaning" actually means

The term gets used loosely, so it is worth being specific. There are two tiers of cleaning:

Surface checks: syntax validation, MX record lookup, disposable provider detection. Fast, catches obvious problems, misses a lot. A domain with valid MX records and no real mailboxes passes all of these.

Deep verification: SMTP mailbox probing, Microsoft 365 HTTP enumeration, catch-all detection. This is what actually tells you whether a specific mailbox exists.

MailCull does both. The engine opens a direct SMTP connection to the receiving mail server, performs an EHLO handshake, and issues RCPT TO for each address. The server's response: a 250 accept, a 550 user-unknown, a 4xx temporary deferral, gives you the real verdict.

For business addresses on Microsoft 365, MailCull also runs an HTTP cascade against Microsoft's authentication endpoints. M365's EOP layer accepts RCPT TO for any address on a tenant, even non-existent ones. The HTTP cascade bypasses this by querying Microsoft's own account-existence APIs.

Every address comes back with a status (deliverable / risky / undeliverable / unknown) and an evidence chain that records exactly what signals fired.

Step 1: export your contacts

Export the list you want to use as a CSV. Preserve the structure that matters for the Brevo import:

  • Email address
  • First name, last name
  • Tags or lists
  • Custom fields you need to map in Brevo

The goal is to preserve the structure while cleaning the addresses. You will reimport a cleaned version of this same file.

Step 2: run the CSV through MailCull

Upload the file to Verify List. MailCull handles multi-column files, you do not need to extract the email column manually. The engine finds addresses across all columns.

The Free plan includes 500 validation credits per month. Pro ($9/month) covers 100,000 validation credits per month. For a large import, process in batches if you are on the free tier.

Step 3: decide what to include

Deliverable. Include these. SMTP confirmed the mailbox is real.

Undeliverable. Remove. These will hard-bounce. Brevo's bounce threshold for account review is low; importing a batch with 5-10% hard bounces is a risk not worth taking.

Risky. Judgment call. Risky can mean:

  • The domain is configured as a catch-all (all RCPT TO accepted, no way to verify individual mailboxes)
  • An M365 domain where the HTTP cascade and SMTP disagreed
  • A role address (info@, hello@, contact@)
  • Greylisted on probe (temporary deferral: could be real, could be noise)

For a first import from a new source, removing risky is the conservative call. For a re-import of an established list, include them and monitor.

Unknown. Similar treatment to risky. The server did not give a conclusive answer. Proceed with caution.

Step 4: import the cleaned file into Brevo

Upload the cleaned CSV into Brevo and map fields as usual. Because you removed the obvious problems before import, you are starting from a healthier baseline.

After the first send with the clean list, compare bounce rates against your historical average. The delta tells you how much problem was hiding in the old list.

Why this matters specifically for Brevo

Brevo enforces sending quality standards and monitors bounce rates. High bounce rates trigger account review and can lead to sending restrictions. Cleaning before a large import, especially if you are migrating from another tool or importing a purchased or older list, is significantly cheaper than dealing with the consequences of a bad send.

Brevo also enforces double opt-in requirements in some contexts. If you are importing contacts from an older list that did not go through Brevo's own signup flow, verifying the addresses first reduces the risk of importing contacts that were never properly reachable.

A simple repeat habit

The most durable version of this workflow is making it a habit rather than a one-time event. Every new list import goes through verification before it touches Brevo. Even if the source seems reliable.

The cost of running verification is low. MailCull's Free tier includes 500 validation credits per month with no credit card. The cost of a deliverability issue on Brevo is measurably higher. The habit pays for itself the first time it prevents a problem.

---

You came here to bring a cleaner list into Brevo. MailCull does the SMTP-level verification, including the M365 edge cases that simpler tools miss, and tells you exactly what to keep and what to cut.

Clean your Brevo import file with MailCull, free with 500 validation credits/month →

Try it

Start with 500 free validation credits. No credit card.

Both Free and Pro run the same scan engine — full SMTP probe, MX lookup, typo, disposable, domain checks, and the evidence chain on every verdict. The difference is the monthly credit pool (Free=500, Pro=100,000) plus Pro's API and MCP access.

Found a mistake? Email [email protected]. Tags · brevo · list-cleaning · verify-list · deliverability