Brevo SMTP: guida a configurazione, impostazioni e risoluzione dei problemi
Configura Brevo SMTP nel modo giusto: host del server, porte 587, 465 e 2525, chiavi SMTP, autenticazione del dominio, esempi per WordPress e per il codice, limiti e correzione degli errori.
Brevo SMTP sposta la posta in uscita di un’applicazione dall’agente di posta locale di un hosting a un’infrastruttura che autentica, registra e rendiconta ogni messaggio. La configurazione è piccola: un hostname, una porta, due credenziali. Anche sbagliarla è piccolo, e i modi in cui fallisce sono silenziosi. Questa guida copre le impostazioni, il modello di credenziali, il lavoro sul DNS che fa arrivare le email e gli errori in cui ti imbatterai se un pezzo è configurato male. Se stai ancora scegliendo un fornitore, la più ampia guida ai servizi email SMTP confronta prima il mercato.
Cos’è Brevo SMTP
Brevo descrive Brevo SMTP come il suo servizio di relay SMTP. La tua applicazione, il tuo sito o il tuo mail server consegnano un messaggio al relay su una connessione autenticata, e Brevo si assume la responsabilità di instradamento, ritentativi, reputazione e reportistica. Le statistiche della posta inoltrata compaiono accanto a quelle delle campagne, e un hard bounce mette automaticamente quel contatto in blocklist.
Il relay è pensato per i messaggi transazionali: reimpostazioni di password, ricevute, conferme d’ordine, notifiche di account. Se il confine tra questi e la posta marketing non è ancora netto, cos’è un’email transazionale lo spiega.
SMTP o API REST
Entrambi i percorsi raggiungono la stessa piattaforma. La divisione pratica:
| Usa SMTP quando | Usa l’API REST quando |
|---|---|
| Il sistema parla solo SMTP (WordPress, Postfix, un ERP, un client di posta) | Stai scrivendo tu l’integrazione e vuoi errori strutturati |
| Stai migrando una configurazione SMTP esistente e vuoi la modifica più breve | Ti serve l’invio in batch, la programmazione o le chiavi di idempotenza |
Un limite netto: la documentazione per sviluppatori di Brevo dichiara che il relay SMTP non supporta l’invio in batch e rimanda le operazioni batch agli endpoint dell’API.
Creare le tue credenziali SMTP
L’autenticazione SMTP di Brevo usa due valori facili da confondere con credenziali che hai già.
Trova il tuo login SMTP
Il tuo login SMTP non è l’indirizzo email del tuo account Brevo. È un identificatore separato mostrato nel campo Login della pagina Impostazioni, SMTP e API, nel formato [email protected].
Ne derivano due regole, entrambe dalla documentazione di risoluzione dei problemi di Brevo. Non mettere smtp-relay.brevo.com nel campo del nome utente: quello è l’host del relay, non il tuo login. E non mettere il tuo login SMTP nell’header From, perché autentica te invece di identificare un mittente.
Genera una chiave SMTP
La password è una chiave SMTP, non la password del tuo account e non una chiave API.
- Apri il menu a tendina dell’account e seleziona Impostazioni, poi SMTP e API.
- Nella scheda SMTP, clicca su Genera una nuova chiave SMTP.
- Dai alla chiave il nome dell’integrazione che la userà.
- Scegli la variante. Standard è la chiave consigliata da 64 caratteri; Short è una chiave da 15 caratteri, per i client che non gestiscono password lunghe.
- Imposta una scadenza tra 7 giorni e 1 anno, oppure scegli nessuna scadenza.
- Clicca su Genera, poi copia subito la chiave completa.
La chiave completa viene mostrata una volta sola, dopodiché la pagina mostra solo le ultime cifre. Se la perdi, generane una sostitutiva e aggiorna la tua configurazione.
Impostazioni di connessione
I valori da inserire in qualsiasi client o libreria:
| Impostazione | Valore |
|---|---|
| Server SMTP | smtp-relay.brevo.com |
| Porta | 587, 465 o 2525 |
| Cifratura | Lascia vuoto, a meno che tu non usi la porta 465, che richiede SSL o TLS |
| Nome utente | Il tuo login SMTP, formato [email protected] |
| Password | La tua chiave SMTP |
Scegliere la porta
| Porta | Cifratura | Quando usarla |
|---|---|---|
| 587 | TLS, negoziato con STARTTLS | L’impostazione predefinita. Parti da qui. |
| 465 | SSL o TLS, implicito dalla connessione | Quando il tuo client richiede una connessione cifrata in modo implicito |
| 2525 | TLS, negoziato con STARTTLS | Quando il tuo hosting blocca la 587 |
Brevo consiglia la 587 come predefinita. La porta 465 era stata designata per SMTP su SSL e poi deprecata, ma resta ampiamente supportata ed è quella giusta quando ti serve la connessione cifrata prima del primo comando. La porta 2525 non è registrata da IETF o IANA, ma la maggior parte degli ISP e dei fornitori cloud la consente, il che la rende la via di fuga quando la 587 è bloccata.
Il campo della cifratura mette in difficoltà molte persone. Brevo ti dice di lasciarlo vuoto se non sei sulla 465. Questo non significa che la connessione non sia cifrata: sulla 587 e sulla 2525 il server annuncia STARTTLS e qualsiasi client decente esegue l’upgrade prima di autenticarsi. Significa che non devi selezionare “SSL” mentre ti colleghi alla 587, perché una discordanza tra porta e cifratura fa fallire l’autenticazione anche con credenziali corrette.
Testa la connessione prima di scrivere codice
Conferma che il relay risponda e che il TLS venga negoziato prima di metterti a fare debug nel codice dell’applicazione.
openssl s_client -starttls smtp -crlf -connect smtp-relay.brevo.com:587Un handshake riuscito finisce con la lista di capacità 250 del server, che dovrebbe includere STARTTLS e una riga AUTH che elenca PLAIN e LOGIN. L’assenza totale di banner è un problema di rete, non di credenziali.
Autenticare il tuo dominio di invio
Questo è il passaggio che tutti saltano, ed è quello che decide se qualcosa arriva. Dal 1° febbraio 2024 l’autenticazione del dominio è obbligatoria secondo i requisiti per i mittenti di Gmail e Yahoo, e Brevo segnala che Microsoft ha annunciato standard simili il 5 maggio 2025. La posta non autenticata viene filtrata o rifiutata, a prescindere da quale relay l’abbia inviata.
I record che Brevo richiede
| Record | Tipo | Scopo |
|---|---|---|
| Codice Brevo | TXT | Verifica che tu possieda e controlli il dominio di invio |
| DKIM | 1 TXT o 2 CNAME | Firma i messaggi così i destinatari possono rilevare modifiche in transito |
| DMARC | TXT | Dice ai server riceventi come trattare la posta sospetta, con una policy none, quarantine o reject |
Brevo può aggiungerli automaticamente se accedi al tuo provider di dominio da dentro Brevo, oppure puoi copiare i valori nella tua zona DNS a mano. La forma di DKIM che ottieni dipende dall’account: due record CNAME usano una chiave a 2048 bit per impostazione predefinita, la forma singola TXT una chiave a 1024 bit.
Perché non c’è un record SPF
La FAQ di Brevo è esplicita: i record SPF e MX non sono necessari per autenticare un dominio e vengono forniti solo quando si configura un IP dedicato. Sull’infrastruttura condivisa Brevo controlla il return path, quindi DKIM più la verifica di proprietà reggono l’autenticazione. Se stai migrando da un fornitore che pretendeva un include SPF, non inventartene uno: un include inutile rischia solo di creare un problema di limite di lookup.
DMARC conta comunque, e Brevo pubblica un record di partenza funzionante:
v=DMARC1; p=none; rua=mailto:[email protected]Parti da p=none per ottenere i report aggregati senza rischiare la consegna, poi stringi verso quarantine e reject una volta che ogni sorgente legittima è allineata. La nostra guida alla recapitabilità delle email copre quella progressione.
Verifica il mittente
Ogni indirizzo From deve essere un mittente verificato o stare su un dominio autenticato. Un nuovo mittente si verifica con un codice a 6 cifre inviato a quell’indirizzo, ma i mittenti su un dominio autenticato saltano quel passaggio, ed è per questo che autentichi prima. I domini di posta gratuiti non possono essere autenticati, quindi un indirizzo From su gmail.com o outlook.com verrà rifiutato o filtrato.
Procedure di integrazione
WordPress
WordPress consegna la posta in uscita a wp_mail, che chiama qualunque cosa metta a disposizione l’hosting. Instradarla attraverso Brevo richiede un plugin.
- Nella barra laterale dell’amministrazione vai su Plugin, poi Aggiungi nuovo plugin.
- Cerca Brevo, installa “Newsletter, SMTP, Email marketing and Subscribe forms by Brevo”, poi attivalo.
- Vai su Brevo, poi Home, e inserisci la tua chiave API v3 di Brevo nel campo di attivazione. Questo passaggio usa una chiave API perché il plugin sincronizza anche i contatti. Clicca su Login.
- Sotto Email transazionali, seleziona Sì.
- Scegli un mittente esistente o creane uno. Ogni email di WordPress userà quel nome e quell’indirizzo del mittente.
- Inserisci un indirizzo e clicca su Invia email per far partire un test.
Due errori sono comuni. Un messaggio che dice che le email transazionali non sono attivate perché il tuo account Brevo SMTP non è stato attivato significa che l’assistenza Brevo deve accendere la piattaforma. Un messaggio che dice che SMTP non può essere usato perché wp_mail è stato dichiarato da un altro processo indica un plugin SMTP concorrente; disattiva gli altri uno alla volta.
Un’applicazione lato server
L’esempio Node.js di Brevo usa nodemailer e le impostazioni viste sopra:
const nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({ host: "smtp-relay.brevo.com", port: 587, secure: false, // true per la 465, false per le altre porte auth: { pass: process.env.BREVO_SMTP_KEY, },});
async function sendOrderConfirmation() { const info = await transporter.sendMail({ subject: "Il tuo ordine è confermato", text: "L'ordine 10482 è confermato e viene spedito entro due giorni lavorativi.", }); console.log("Messaggio inviato:", info.messageId);}
sendOrderConfirmation().catch(console.error);Nota secure: false sulla porta 587. Quel flag controlla il TLS implicito, non se la connessione sia cifrata; nodemailer emette comunque STARTTLS. Impostalo a true solo per la 465.
L’equivalente Python con la libreria standard:
import smtplib, sslfrom email.message import EmailMessage
msg = EmailMessage()msg["Subject"] = "Il tuo ordine è confermato"msg.set_content("L'ordine 10482 è confermato e viene spedito entro due giorni lavorativi.")
with smtplib.SMTP("smtp-relay.brevo.com", 587, timeout=20) as server: server.starttls(context=ssl.create_default_context()) server.login(BREVO_SMTP_LOGIN, BREVO_SMTP_KEY) server.send_message(msg)Entrambi leggono le credenziali dall’ambiente, che è l’argomento della prossima sezione.
Sicurezza e rotazione delle chiavi
Brevo tratta le chiavi SMTP come password. Vale la pena seguire alla lettera le regole operative.
- Una chiave per integrazione. Dai a ogni chiave il nome del sistema che la usa, così una fuga o una dismissione revocano esattamente una cosa.
- Non committare mai una chiave. Variabili d’ambiente, un secrets manager o l’archivio di configurazione della tua piattaforma. Non il controllo di versione, non un file
.envtracciato, non uno screenshot. - Ruota senza downtime. Genera la sostituta, rilascia, conferma che l’invio funzioni, poi elimina la vecchia chiave. L’eliminazione è irreversibile, ed eliminare una chiave ancora in uso ferma subito l’invio transazionale.
- Disattiva invece di eliminare per mettere in pausa un’integrazione. Le chiavi si possono riattivare in seguito.
- Aspettati la scadenza. Le chiavi possono avere una scadenza da 7 giorni a 1 anno, e Brevo fa scadere le chiavi inattive dopo 90 giorni.
Per un confine più solido, Brevo può bloccare le richieste da indirizzi IP sconosciuti. L’elenco autorizzato è condiviso tra chiavi API e chiavi SMTP, quindi tutto ciò che consenti vale per entrambe. Fai attenzione sui carichi containerizzati o cloud: l’indirizzo in uscita può essere un gateway NAT invece dell’IP dell’istanza che ti aspetti, e sbagliarlo produce un rifiuto 525 5.7.1 Unauthorized IP address.
I team che usano Brevo insieme a un negozio, un CRM e un servizio di assistenza finiscono per gestire diverse chiavi, mittenti e domini contemporaneamente. Tajo tiene quella configurazione in un unico posto invece che in quattro dashboard.
Limiti di invio e throttling
L’invio via SMTP attinge ai crediti email del tuo piano. Sul piano gratuito significa 300 invii email al giorno; il limite si azzera ogni giorno e gli invii non usati non si riportano. Una volta raggiunto, Brevo trattiene fino a 1.000 email ulteriori in una coda di ritentativo e non consegna nulla oltre quella coda. I piani a pagamento tolgono il tetto giornaliero, e la guida ai prezzi di Brevo spiega i vari livelli.
Quando i crediti finiscono del tutto, i messaggi inviati via SMTP vengono messi in pausa e in coda invece che scartati. L’arretrato si trova sotto Transazionali, poi Tempo reale, poi Utilizzo e piano, nella sezione Coda email.
Brevo pubblica limiti di frequenza rigidi per l’API REST piuttosto che per il relay. Sul livello generale POST /v3/smtp/email consente 1.000 richieste al secondo, e superare un limite restituisce 429 Too Many Requests. Il percorso API restituisce anche gli header dei limiti di frequenza su cui regolare il ritmo, cosa che il relay non fa.
Monitorare bounce e reclami
La posta inoltrata è visibile sotto Transazionali, nelle pagine Statistiche e Log. Gli eventi che richiedono una risposta:
- Hard bounce. L’indirizzo non è valido, e Brevo mette automaticamente il contatto in blocklist.
- Bloccato. Il destinatario in precedenza ha reclamato, si è disiscritto, ha generato un hard bounce o è stato bloccato manualmente.
- Deferred e soft bounce. Il provider ha accettato la connessione ma ha ritardato o rifiutato il messaggio. Rinvii ricorrenti verso uno stesso provider segnalano un problema di reputazione, non di codice.
Fare polling sui log non scala. Brevo supporta webhook transazionali che spingono in tempo reale gli eventi di consegna, bounce, apertura e reclamo verso il tuo endpoint, ed è così che tieni aggiornati i tuoi dati di soppressione.
Il numero da tenere d’occhio è il tasso di reclami per spam. Gmail, Yahoo e Microsoft chiedono ai mittenti di restare sotto lo 0,3%, e Brevo consiglia di monitorarlo con Gmail Postmaster Tools. Rimettersi in carreggiata dopo uno sforamento richiede molto più tempo che evitarlo.
Risoluzione dei problemi
535 5.7.8 Authentication failed
Il nome utente o la password non hanno potuto essere verificati. In ordine di probabilità:
- È stato usato l’indirizzo email dell’account invece del login SMTP nel formato
[email protected]. smtp-relay.brevo.comè stato incollato nel campo del nome utente. Brevo lo indica come una delle cause più comuni.- È stata usata una chiave API invece di una chiave SMTP.
- La chiave porta uno spazio finale o un a capo preso da un copia e incolla.
- L’impostazione di cifratura non corrisponde alla porta.
- La chiave è stata invalidata dopo un avviso di sicurezza, nel qual caso generane una nuova.
525 5.7.1 Unauthorized IP address
Il blocco per IP è attivo e l’indirizzo che si collega non è autorizzato. Aggiungilo, e controlla prima il tuo vero indirizzo di uscita se l’applicazione gira dietro NAT o su una piattaforma di container.
Nessuna risposta e nessun banner
Se la connessione TCP si apre ma il server non invia mai il suo saluto 220, l’autenticazione non può neanche iniziare e il problema è dalla tua parte della rete. I firewall aziendali a volte consentono la connessione e poi scartano in silenzio il traffico SMTP. AWS, Azure e Google Cloud limitano per impostazione predefinita l’SMTP in uscita sui nuovi account. Chiedi la rimozione della restrizione, oppure passa alla porta 2525.
450, piattaforma non attivata
L’errore dice che il tuo account SMTP non è ancora attivato o che la tua piattaforma di invio è attualmente disabilitata. Su un account nuovo, l’invio transazionale richiede un passaggio di attivazione separato da parte dell’assistenza Brevo. Su un account consolidato di solito significa sospensione, o perché un modulo non protetto è stato colpito da iscrizioni bot o perché l’account ha mostrato segni di compromissione.
Mittente rifiutato
Controlla tre cose: il dominio è autenticato, il mittente è verificato e l’header From non è il tuo login SMTP.
La posta viene accettata ma finisce nello spam
Procedi in quest’ordine. Conferma che il dominio di invio sia autenticato e che DKIM stia firmando. Conferma che il dominio del From sia il tuo e non un provider di posta gratuito. Controlla il tuo tasso di reclami in Postmaster Tools rispetto alla soglia dello 0,3%. Guarda il contenuto solo dopo che questi controlli sono puliti, perché non è quasi mai la prima causa.
IP dedicati
Un IP dedicato aiuta solo con volumi alti e costanti. Va scaldato prima di inviarci qualcosa di serio, e richiede un sottodominio di invio che compaia come dominio mailed by e return path nelle tue intestazioni. Questa è l’unica configurazione in cui Brevo fornisce record SPF e MX, insieme ai record A, CNAME, DKIM e DMARC per quel sottodominio.
Due dettagli colgono tutti di sorpresa. Un IP dedicato configurato solo per la posta marketing mette in coda i tuoi messaggi transazionali invece di inviarli, quindi cambialo o compra un secondo IP. E separare l’instradamento transazionale da quello marketing richiede un pool di almeno due IP con mittenti distinti, così un engagement debole sulla posta marketing non può trascinare giù ricevute e reimpostazioni di password.
Farlo bene al primo colpo
Autentica il dominio, crea una chiave SMTP con un nome, collegati a smtp-relay.brevo.com sulla 587 e invia un test attraverso il percorso di codice reale invece che con un pulsante nella dashboard. Quasi ogni problema successivo si riconduce a una di tre cose.
- La credenziale sbagliata nel campo del nome utente o della password.
- Un’impostazione di porta e cifratura che non concordano tra loro.
- Un dominio di invio che non è mai stato autenticato.
Sistema queste tre e il relay sparisce sullo sfondo, che è esattamente ciò che un’infrastruttura transazionale dovrebbe fare.