Brevo SMTP: ghid de configurare, setări și depanare
Configurează corect Brevo SMTP: gazda serverului, porturile 587, 465 și 2525, cheile SMTP, autentificarea domeniului, exemple pentru WordPress și cod, limite și rezolvarea erorilor.
Brevo SMTP mută corespondența de ieșire a unei aplicații de pe agentul local de mail al unei găzduiri web pe o infrastructură care autentifică, jurnalizează și raportează fiecare mesaj. Configurarea este mică: un nume de gazdă, un port, două credențiale. Și greșeala este mică, iar modurile de eșec sunt tăcute. Ghidul acoperă setările, modelul de credențiale, munca de DNS care face livrarea posibilă și erorile pe care le vei întâlni dacă vreo piesă este configurată greșit. Dacă încă alegi un furnizor, ghidul mai larg despre serviciile de e-mail SMTP compară mai întâi piața.
Ce este Brevo SMTP
Brevo descrie Brevo SMTP ca fiind serviciul său de releu SMTP. Aplicația, site-ul sau serverul tău de mail predă un mesaj releului printr-o conexiune autentificată, iar Brevo își asumă responsabilitatea pentru rutare, reîncercări, reputație și raportare. Statisticile pentru corespondența retransmisă apar alături de statisticile campaniilor, iar un hard bounce blochează automat acel contact.
Releul este construit pentru mesaje tranzacționale: resetări de parolă, chitanțe, confirmări de comandă, notificări de cont. Dacă linia dintre acestea și corespondența de marketing nu este încă bine trasată, ce este e-mailul tranzacțional o explică.
SMTP sau REST API
Ambele căi ajung la aceeași platformă. Împărțirea practică:
| Folosește SMTP când | Folosește REST API când |
|---|---|
| Sistemul vorbește doar SMTP (WordPress, Postfix, un ERP, un client de mail) | Scrii tu integrarea și vrei erori structurate |
| Migrezi o configurație SMTP existentă și vrei cea mai mică modificare | Ai nevoie de trimitere în lot, programare sau chei de idempotență |
O limită dură: documentația pentru dezvoltatori a Brevo precizează că releul SMTP nu acceptă trimiterea în lot și îndrumă operațiunile de lot către endpointurile API.
Crearea credențialelor SMTP
Autentificarea SMTP a Brevo folosește două valori ușor de confundat cu credențiale pe care le ai deja.
Găsește-ți loginul SMTP
Loginul tău SMTP nu este adresa de e-mail a contului Brevo. Este un identificator separat, afișat în câmpul Login din pagina Settings, SMTP and API, în formatul [email protected].
De aici decurg două reguli, ambele din documentația de depanare a Brevo. Nu pune smtp-relay.brevo.com în câmpul de nume de utilizator: acela este gazda releului, nu loginul tău. Și nu pune loginul SMTP în antetul From, pentru că el te autentifică, nu identifică un expeditor.
Generează o cheie SMTP
Parola este o cheie SMTP, nu parola contului tău și nu o cheie API.
- Deschide meniul contului și alege Settings, apoi SMTP and API.
- Pe fila SMTP, apasă Generate a new SMTP key.
- Denumește cheia după integrarea care o va folosi.
- Alege varianta. Standard este cheia recomandată, de 64 de caractere; Short este o cheie de 15 caractere, pentru clienții care nu suportă parole lungi.
- Setează o expirare între 7 zile și 1 an sau alege fără expirare.
- Apasă Generate, apoi copiază imediat cheia completă.
Cheia completă este afișată o singură dată, după care pagina arată doar ultimele câteva cifre. Dacă o pierzi, generează una de înlocuire și actualizează-ți configurația.
Setări de conexiune
Valorile de introdus în orice client sau bibliotecă:
| Setare | Valoare |
|---|---|
| Server SMTP | smtp-relay.brevo.com |
| Port | 587, 465 sau 2525 |
| Criptare | Lasă gol, cu excepția portului 465, care cere SSL sau TLS |
| Nume de utilizator | Loginul tău SMTP, în formatul [email protected] |
| Parolă | Cheia ta SMTP |
Alegerea unui port
| Port | Criptare | Când îl folosești |
|---|---|---|
| 587 | TLS, negociat cu STARTTLS | Varianta implicită. Începe aici. |
| 465 | SSL sau TLS, implicit de la conectare | Când clientul tău cere o conexiune criptată implicit |
| 2525 | TLS, negociat cu STARTTLS | Când furnizorul tău de găzduire blochează 587 |
Brevo recomandă 587 ca variantă implicită. Portul 465 a fost desemnat pentru SMTP peste SSL și ulterior depreciat, dar rămâne larg suportat și este potrivit când ai nevoie ca legătura să fie criptată înainte de prima comandă. Portul 2525 nu este un port înregistrat la IETF sau IANA, dar majoritatea furnizorilor de internet și de cloud îl permit, ceea ce îl face ieșirea de urgență când 587 este blocat.
Câmpul de criptare încurcă lumea. Brevo îți spune să îl lași gol dacă nu ești pe 465. Asta nu înseamnă că legătura este necriptată: pe 587 și 2525 serverul anunță STARTTLS, iar orice client competent face upgrade înainte de autentificare. Înseamnă că nu ar trebui să alegi „SSL” în timp ce te conectezi pe 587, pentru că o nepotrivire între port și criptare face autentificarea să eșueze chiar și cu credențiale corecte.
Testează conexiunea înainte să scrii cod
Confirmă că releul răspunde și că TLS se negociază înainte să depanezi codul aplicației.
openssl s_client -starttls smtp -crlf -connect smtp-relay.brevo.com:587O negociere reușită se încheie cu lista de capabilități 250 a serverului, care ar trebui să includă STARTTLS și o linie AUTH care listează PLAIN și LOGIN. Lipsa oricărui banner este o problemă de rețea, nu una de credențiale.
Autentificarea domeniului tău de trimitere
Acesta este pasul pe care oamenii îl sar și cel care decide dacă ajunge ceva. De la 1 februarie 2024, autentificarea domeniului este obligatorie conform cerințelor pentru expeditori ale Gmail și Yahoo, iar Brevo notează că Microsoft a anunțat standarde similare pe 5 mai 2025. Corespondența neautentificată este filtrată sau respinsă indiferent de releul care a trimis-o.
Înregistrările cerute de Brevo
| Înregistrare | Tip | Scop |
|---|---|---|
| Brevo code | TXT | Verifică faptul că deții și controlezi domeniul de trimitere |
| DKIM | 1 TXT sau 2 CNAME | Semnează mesajele ca destinatarii să poată detecta modificări pe drum |
| DMARC | TXT | Spune serverelor care primesc cum să trateze corespondența suspectă, printr-o politică none, quarantine sau reject |
Brevo le poate adăuga automat dacă te conectezi la furnizorul tău de domenii din interiorul Brevo, sau poți copia valorile în zona ta DNS manual. Forma de DKIM pe care o primești depinde de cont: două înregistrări CNAME folosesc implicit o cheie de 2048 de biți, iar forma cu un singur TXT o cheie de 1024 de biți.
De ce nu există o înregistrare SPF
Secțiunea de întrebări frecvente a Brevo este explicită: înregistrările SPF și MX nu sunt necesare pentru autentificarea unui domeniu și sunt furnizate doar la configurarea unui IP dedicat. Pe infrastructura partajată, Brevo controlează calea de retur, așa că DKIM plus verificarea proprietății duc autentificarea. Dacă migrezi de la un furnizor care cerea un include SPF, nu inventa unul; un include inutil nu face decât să riști o problemă de limită de căutări.
DMARC contează în continuare, iar Brevo publică o înregistrare funcțională de pornire:
v=DMARC1; p=none; rua=mailto:[email protected]Începe cu p=none pentru rapoarte agregate fără să riști livrarea, apoi strânge șurubul spre quarantine și reject odată ce fiecare sursă legitimă este aliniată. Ghidul nostru de livrabilitate a e-mailurilor acoperă acea progresie.
Verifică expeditorul
Fiecare adresă From trebuie să fie un expeditor verificat sau să stea pe un domeniu autentificat. Un expeditor nou se verifică printr-un cod de 6 cifre trimis la acea adresă, dar expeditorii de pe un domeniu autentificat sar peste acest pas, motiv pentru care autentifici mai întâi domeniul. Domeniile de e-mail gratuite nu pot fi autentificate, așa că o adresă From pe gmail.com sau outlook.com va fi respinsă sau filtrată.
Parcurgeri de integrare
WordPress
WordPress predă corespondența de ieșire lui wp_mail, care apelează ce oferă găzduirea. Ca să o rutezi prin Brevo îți trebuie un plugin.
- În bara laterală de administrare mergi la Plugins, apoi la Add New Plugin.
- Caută Brevo, instalează „Newsletter, SMTP, Email marketing and Subscribe forms by Brevo”, apoi activează-l.
- Mergi la Brevo, apoi la Home, și introdu cheia Brevo API v3 în câmpul de activare. Acest pas folosește o cheie API pentru că pluginul sincronizează și contacte. Apasă Login.
- La Transactional emails, selectează Yes.
- Alege un expeditor existent sau creează unul. Fiecare e-mail din WordPress folosește acel nume și acea adresă de expeditor.
- Introdu o adresă și apasă Send email ca să lansezi un test.
Două erori sunt frecvente. Un mesaj care spune că e-mailurile tranzacționale nu sunt activate pentru că nu ți-a fost activat contul Brevo SMTP înseamnă că suportul Brevo trebuie să pornească platforma. Un mesaj care spune că SMTP nu poate fi folosit pentru că wp_mail a fost declarat de alt proces înseamnă că există un plugin SMTP concurent; dezactivează-le pe celelalte pe rând.
O aplicație pe server
Exemplul Node.js al Brevo folosește nodemailer și setările de mai sus:
const nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({ host: "smtp-relay.brevo.com", port: 587, secure: false, // true pentru 465, false pentru celelalte porturi auth: { pass: process.env.BREVO_SMTP_KEY, },});
async function sendOrderConfirmation() { const info = await transporter.sendMail({ subject: "Comanda ta este confirmată", text: "Comanda 10482 este confirmată și se expediază în două zile lucrătoare.", }); console.log("Mesaj trimis:", info.messageId);}
sendOrderConfirmation().catch(console.error);Observă secure: false pe portul 587. Acea opțiune controlează TLS implicit, nu dacă legătura este criptată; nodemailer tot emite STARTTLS. Setează true doar pentru 465.
Echivalentul Python cu biblioteca standard:
import smtplib, sslfrom email.message import EmailMessage
msg = EmailMessage()msg["Subject"] = "Comanda ta este confirmată"msg.set_content("Comanda 10482 este confirmată și se expediază în două zile lucrătoare.")
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)Amândouă citesc credențialele din mediu, adică din secțiunea următoare.
Securitatea și rotația cheilor
Brevo tratează cheile SMTP ca pe parole. Regulile operaționale merită urmate ad litteram.
- O cheie per integrare. Denumește fiecare cheie după sistemul care o folosește, ca o scurgere sau o dezafectare să revoce exact un singur lucru.
- Nu comite niciodată o cheie. Variabile de mediu, un manager de secrete sau depozitul de configurare al platformei tale. Nu în controlul versiunilor, nu într-un fișier
.envurmărit, nu într-o captură de ecran. - Rotește fără timp mort. Generează înlocuitorul, publică, confirmă trimiterea, apoi șterge cheia veche. Ștergerea este ireversibilă, iar ștergerea unei chei încă folosite oprește imediat trimiterea tranzacțională.
- Dezactivează în loc să ștergi ca să pui o integrare pe pauză. Cheile pot fi reactivate ulterior.
- Așteaptă-te la expirare. Cheile pot avea o expirare între 7 zile și 1 an, iar Brevo expiră cheile inactive după 90 de zile.
Pentru o graniță mai dură, Brevo poate bloca cererile de la adrese IP necunoscute. Lista autorizată este comună cheilor API și SMTP, așa că orice permiți se aplică la ambele. Ai grijă pe sarcinile din containere sau din cloud: adresa de ieșire poate fi un gateway NAT, nu IP-ul instanței la care te aștepți, iar o greșeală aici produce o respingere 525 5.7.1 Unauthorized IP address.
Echipele care rulează Brevo alături de un magazin, un CRM și un birou de suport ajung să gestioneze simultan mai multe chei, expeditori și domenii. Tajo ține acea configurație într-un singur loc, nu în patru panouri de administrare.
Limite de trimitere și limitare de debit
Trimiterea prin SMTP consumă din creditele de e-mail ale planului tău. Pe planul gratuit asta înseamnă 300 de trimiteri pe zi; limita se resetează zilnic, iar trimiterile nefolosite nu se reportează. Odată ce o atingi, Brevo ține până la 1.000 de e-mailuri suplimentare într-o coadă de reîncercare și nu livrează nimic peste acea coadă. Planurile plătite elimină plafonul zilnic, iar ghidul de prețuri Brevo detaliază nivelurile.
Când creditele se epuizează complet, mesajele trimise prin SMTP sunt puse pe pauză și în coadă, nu aruncate. Restanța stă la Transactional, apoi Real time, apoi Usage and plan, în secțiunea Email queue.
Brevo publică limite de rată dure pentru REST API, nu pentru releu. Pe nivelul general, POST /v3/smtp/email permite 1.000 de cereri pe secundă, iar depășirea unei limite returnează 429 Too Many Requests. Calea prin API returnează și anteturi de limită de rată după care să îți reglezi ritmul, ceea ce releul nu face.
Monitorizarea bounce-urilor și a reclamațiilor
Corespondența retransmisă este vizibilă la Transactional, în paginile Statistics și Logs. Evenimentele care cer o reacție:
- Hard bounce. Adresa este invalidă, iar Brevo blochează automat contactul.
- Blocked. Destinatarul s-a plâns anterior, s-a dezabonat, a avut hard bounce sau a fost blocat manual.
- Deferred și soft bounce. Furnizorul a acceptat conexiunea, dar a amânat sau a refuzat mesajul. Amânările repetate față de un singur furnizor semnalează o problemă de reputație, nu una de cod.
Interogarea repetată a jurnalelor nu scalează. Brevo acceptă webhook-uri tranzacționale care împing evenimentele de livrare, bounce, deschidere și reclamație către endpointul tău în timp real, ceea ce este modul în care îți ții la zi propriile date de suprimare.
Numărul de urmărit este rata reclamațiilor de spam. Gmail, Yahoo și Microsoft cer expeditorilor să rămână sub 0,3%, iar Brevo recomandă monitorizarea ei cu Gmail Postmaster Tools. Revenirea după o depășire durează mult mai mult decât evitarea ei.
Depanare
535 5.7.8 Authentication failed
Numele de utilizator sau parola nu au putut fi verificate. În ordinea probabilității:
- Adresa de e-mail a contului a fost folosită în locul loginului SMTP în formatul
[email protected]. smtp-relay.brevo.coma fost lipit în câmpul de nume de utilizator. Brevo îl indică drept una dintre cele mai frecvente cauze.- A fost folosită o cheie API în locul unei chei SMTP.
- Cheia poartă un spațiu sau o întrerupere de rând la final, de la copiere și lipire.
- Setarea de criptare nu se potrivește cu portul.
- Cheia a fost invalidată după o alertă de securitate, caz în care generează una nouă.
525 5.7.1 Unauthorized IP address
Blocarea pe IP este activă, iar adresa care se conectează nu este autorizată. Adaug-o și verifică mai întâi adresa reală de ieșire, dacă aplicația rulează în spatele unui NAT sau pe o platformă de containere.
Niciun răspuns și niciun banner
Dacă conexiunea TCP se deschide, dar serverul nu trimite niciodată salutul 220, autentificarea nu poate începe, iar vina este de partea ta de rețea. Firewall-urile corporative uneori permit conexiunea și apoi aruncă în tăcere traficul SMTP. AWS, Azure și Google Cloud restricționează implicit SMTP-ul de ieșire pe conturile noi. Cere ridicarea restricției sau treci pe portul 2525.
450, platformă neactivată
Eroarea spune că nu ți-a fost încă activat contul SMTP sau că platforma ta de trimitere este dezactivată în acest moment. Pe un cont nou, trimiterea tranzacțională cere un pas separat de activare din partea suportului Brevo. Pe un cont vechi, înseamnă de obicei suspendare, fie pentru că un formular neprotejat a fost lovit de înscrieri automate, fie pentru că a dat semne de compromitere.
Expeditor respins
Verifică trei lucruri: domeniul este autentificat, expeditorul este verificat și antetul From nu este loginul tău SMTP.
Corespondența este acceptată, dar ajunge în spam
Lucrează în această ordine. Confirmă că domeniul de trimitere este autentificat și că DKIM semnează. Confirmă că domeniul din From este al tău și nu un furnizor de e-mail gratuit. Verifică rata reclamațiilor în Postmaster Tools față de pragul de 0,3%. Uită-te la conținut abia după ce aceste verificări sunt curate, pentru că aproape niciodată nu este prima cauză.
IP-uri dedicate
Un IP dedicat ajută doar la volum mare și constant. Trebuie încălzit înainte să trimiți serios prin el și are nevoie de un subdomeniu de trimitere care apare ca domeniu de expediere și de cale de retur în anteturile tale. Aceasta este singura configurație în care Brevo furnizează înregistrări SPF și MX, alături de înregistrări A, CNAME, DKIM și DMARC pentru acel subdomeniu.
Două detalii îi prind pe oameni pe picior greșit. Un IP dedicat configurat doar pentru e-mail de marketing îți pune mesajele tranzacționale în coadă în loc să le trimită, așa că fie îl comuți, fie cumperi un al doilea IP. Iar separarea rutării tranzacționale de cea de marketing cere un pool de cel puțin două IP-uri cu expeditori distincți, ca implicarea slabă la corespondența de marketing să nu poată trage în jos chitanțele și resetările de parolă.
Să fie corect din prima
Autentifică domeniul, creează o cheie SMTP cu nume, conectează-te la smtp-relay.brevo.com pe 587 și trimite un test prin calea reală de cod, nu printr-un buton din panoul de administrare. Aproape orice problemă ulterioară se reduce la unul dintre trei lucruri.
- Credențiala greșită în câmpul de nume de utilizator sau de parolă.
- O setare de port și una de criptare care nu se potrivesc între ele.
- Un domeniu de trimitere care nu a fost niciodată autentificat.
Nimerește-le pe acestea și releul dispare în fundal, ceea ce este exact ce ar trebui să facă o infrastructură tranzacțională.