Brevo SMTP: ръководство за настройка, параметри и отстраняване на проблеми
Настройте Brevo SMTP правилно: сървър, портове 587, 465 и 2525, SMTP ключове, удостоверяване на домейна, примери за WordPress и код, лимити и решения на грешки.
Brevo SMTP премества изходящата поща на едно приложение от локалния пощенски агент на уеб хоста върху инфраструктура, която удостоверява, записва и отчита всяко съобщение. Настройката е малка: едно име на хост, един порт, две идентификационни данни. Сгрешаването също е малко, а начините на провал са тихи. Това ръководство покрива параметрите, модела на идентификационните данни, работата по DNS, която прави доставката възможна, и грешките, които ще срещнете, ако някоя част е конфигурирана погрешно. Ако още избирате доставчик, по-широкото ръководство за SMTP услуги за имейли първо сравнява пазара.
Какво е Brevo SMTP
Brevo описва Brevo SMTP като своята услуга за SMTP реле. Вашето приложение, сайт или пощенски сървър подава съобщение на релето през удостоверена връзка, а Brevo поема отговорността за маршрутизиране, повторни опити, репутация и отчитане. Статистиките за препратената поща се появяват заедно със статистиките за кампаниите, а твърдо отпадане автоматично блокира съответния контакт.
Релето е създадено за транзакционни съобщения: нулиране на пароли, разписки, потвърждения на поръчки, известия за акаунта. Ако границата между тях и маркетинговата поща още не е ясна, какво е транзакционен имейл я обяснява.
SMTP или REST API
И двата пътя стигат до същата платформа. Практическото разделение:
| Използвайте SMTP, когато | Използвайте REST API, когато |
|---|---|
| Системата говори само SMTP (WordPress, Postfix, ERP, пощенски клиент) | Вие пишете интеграцията и искате структурирани грешки |
| Мигрирате съществуваща SMTP конфигурация и искате най-малката промяна | Нуждаете се от групово изпращане, планиране или ключове за идемпотентност |
Едно твърдо ограничение: документацията за разработчици на Brevo заявява, че SMTP релето не поддържа групово изпращане, и насочва груповите операции към крайните адреси на API.
Създаване на Вашите SMTP идентификационни данни
Удостоверяването в SMTP на Brevo използва две стойности, които лесно се бъркат с данни, които вече имате.
Намерете своя SMTP login
Вашият SMTP login не е имейл адресът на Brevo акаунта Ви. Той е отделен идентификатор, показан в полето Login на страницата Settings, SMTP and API, във формат [email protected].
От това следват две правила, и двете от документацията на Brevo за отстраняване на проблеми. Не поставяйте smtp-relay.brevo.com в полето за потребителско име: това е хостът на релето, а не Вашият login. И не поставяйте своя SMTP login в хедъра From, защото той Ви удостоверява, а не идентифицира изпращач.
Генерирайте SMTP ключ
Паролата е SMTP ключ, а не паролата на акаунта Ви и не API ключ.
- Отворете падащото меню на акаунта и изберете Settings, след това SMTP and API.
- В таба SMTP кликнете Generate a new SMTP key.
- Наименувайте ключа според интеграцията, която ще го използва.
- Изберете варианта. Standard е препоръчаният ключ от 64 знака; Short е ключ от 15 знака, за клиенти, които не понасят дълги пароли.
- Задайте срок на валидност между 7 дни и 1 година или изберете без изтичане.
- Кликнете Generate, после веднага копирайте пълния ключ.
Пълният ключ се показва веднъж, след което страницата показва само последните му няколко знака. Ако го загубите, генерирайте заместващ и обновете конфигурацията си.
Настройки на връзката
Стойностите, които въвеждате в кой да е клиент или библиотека:
| Настройка | Стойност |
|---|---|
| SMTP сървър | smtp-relay.brevo.com |
| Порт | 587, 465 или 2525 |
| Криптиране | Оставете празно, освен ако използвате порт 465, който изисква SSL или TLS |
| Потребителско име | Вашият SMTP login, формат [email protected] |
| Парола | Вашият SMTP ключ |
Избор на порт
| Порт | Криптиране | Кога да го използвате |
|---|---|---|
| 587 | TLS, договорен чрез STARTTLS | По подразбиране. Започнете оттук. |
| 465 | SSL или TLS, директно при свързване | Когато клиентът Ви изисква директно криптирана връзка |
| 2525 | TLS, договорен чрез STARTTLS | Когато хостинг доставчикът Ви блокира 587 |
Brevo препоръчва 587 по подразбиране. Порт 465 беше определен за SMTP през SSL и по-късно обявен за остарял, но остава широко поддържан и е правилният, когато Ви трябва връзката да е криптирана още преди първата команда. Порт 2525 не е регистриран в IETF или IANA, но повечето интернет доставчици и облачни платформи го допускат, което го прави аварийният изход, когато 587 е блокиран.
Полето за криптиране обърква хората. Brevo Ви казва да го оставите празно, освен ако сте на 465. Това не означава, че връзката е некриптирана: на 587 и 2525 сървърът обявява STARTTLS и всеки свестен клиент надгражда, преди да се удостовери. Означава, че не бива да избирате „SSL”, докато се свързвате на 587, защото несъответствие между порт и криптиране проваля удостоверяването дори с правилни данни.
Тествайте връзката, преди да пишете какъвто и да е код
Потвърдете, че релето отговаря и че TLS се договаря, преди да търсите проблема в кода на приложението.
openssl s_client -starttls smtp -crlf -connect smtp-relay.brevo.com:587Успешното ръкостискане завършва със списъка с възможности 250 на сървъра, който трябва да включва STARTTLS и ред AUTH, изброяващ PLAIN и LOGIN. Липсата на какъвто и да е отговор е мрежов проблем, а не проблем с идентификационни данни.
Удостоверяване на Вашия изпращащ домейн
Това е стъпката, която хората пропускат, и тя решава дали изобщо нещо ще пристигне. От 1 февруари 2024 г. удостоверяването на домейна е задължително според изискванията към изпращачите на Gmail и Yahoo, а Brevo отбелязва, че Microsoft обяви подобни стандарти на 5 май 2025 г. Неудостоверената поща се филтрира или отхвърля независимо кое реле я е изпратило.
Записите, които Brevo изисква
| Запис | Тип | Предназначение |
|---|---|---|
| Brevo code | TXT | Проверява, че притежавате и контролирате изпращащия домейн |
| DKIM | 1 TXT или 2 CNAME | Подписва съобщенията, за да могат получателите да разпознаят промяна при пренос |
| DMARC | TXT | Казва на получаващите сървъри как да третират съмнителна поща, чрез политика none, quarantine или reject |
Brevo може да добави тези записи автоматично, ако влезете в доставчика си на домейни отвътре в Brevo, или можете да копирате стойностите в DNS зоната си на ръка. Коя форма на DKIM получавате зависи от акаунта: два CNAME записа използват ключ от 2048 бита по подразбиране, а формата с един TXT запис ключ от 1024 бита.
Защо няма SPF запис
Често задаваните въпроси на Brevo са категорични: SPF и MX записи не са нужни за удостоверяване на домейн и се предоставят само при настройка на специален IP адрес. На споделена инфраструктура Brevo контролира обратния път, така че DKIM плюс проверката за собственост носи удостоверяването. Ако мигрирате от доставчик, който е изисквал SPF include, не си измисляйте такъв; излишен include само рискува проблем с лимита на справките.
DMARC все пак има значение и Brevo публикува работещ начален запис:
v=DMARC1; p=none; rua=mailto:[email protected]Започнете с p=none за обобщени отчети, без да рискувате доставката, после затегнете до quarantine и reject, щом всеки легитимен източник бъде подравнен. Нашето ръководство за доставимост на имейлите покрива това развитие.
Потвърдете изпращача
Всеки адрес в From трябва да бъде потвърден изпращач или да стои на удостоверен домейн. Нов изпращач се потвърждава с 6-цифрен код, изпратен на този адрес, но изпращачите на удостоверен домейн прескачат тази стъпка, което е причината първо да удостоверявате домейна. Безплатните пощенски домейни не могат да бъдат удостоверени, така че адрес в From от gmail.com или outlook.com ще бъде отхвърлен или филтриран.
Подробни примери за интеграция
WordPress
WordPress подава изходящата поща на wp_mail, който извиква каквото хостът предоставя. Пренасочването ѝ през Brevo изисква приставка.
- В административното меню отидете на Plugins, после Add New Plugin.
- Потърсете Brevo, инсталирайте „Newsletter, SMTP, Email marketing and Subscribe forms by Brevo”, после я активирайте.
- Отидете на Brevo, после Home, и въведете своя Brevo API key v3 в полето за активиране. Тази стъпка използва API ключ, защото приставката синхронизира и контакти. Кликнете Login.
- В Transactional emails изберете Yes.
- Изберете съществуващ изпращач или създайте нов. Всеки имейл от WordPress използва това име и адрес на изпращач.
- Въведете адрес и кликнете Send email, за да пуснете тест.
Две грешки са чести. Съобщение, че транзакционните имейли не са активирани, защото Вашият Brevo SMTP акаунт не е активиран, означава, че поддръжката на Brevo трябва да включи платформата. Съобщение, че SMTP не може да се използва, защото wp_mail е декларирана от друг процес, означава конкурираща SMTP приставка; деактивирайте останалите една по една.
Приложение от страна на сървъра
Собственият пример на Brevo за Node.js използва nodemailer и настройките по-горе:
const nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({ host: "smtp-relay.brevo.com", port: 587, secure: false, // true за 465, false за останалите портове auth: { pass: process.env.BREVO_SMTP_KEY, },});
async function sendOrderConfirmation() { const info = await transporter.sendMail({ subject: "Your order is confirmed", text: "Order 10482 is confirmed and ships within two business days.", }); console.log("Message sent:", info.messageId);}
sendOrderConfirmation().catch(console.error);Обърнете внимание на secure: false на порт 587. Този флаг управлява директния TLS, а не дали връзката е криптирана; nodemailer пак издава STARTTLS. Задайте true само за 465.
Еквивалентът на Python със стандартната библиотека:
import smtplib, sslfrom email.message import EmailMessage
msg = EmailMessage()msg["Subject"] = "Your order is confirmed"msg.set_content("Order 10482 is confirmed and ships within two business days.")
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)И двата четат идентификационните данни от средата, което е темата на следващия раздел.
Сигурност и смяна на ключовете
Brevo третира SMTP ключовете като пароли. Оперативните правила си струва да се следват буквално.
- Един ключ на интеграция. Наименувайте всеки ключ според системата, която го използва, така че изтичане или извеждане от употреба да отнема точно едно нещо.
- Никога не качвайте ключ в кода. Променливи на средата, мениджър на тайни или хранилището за конфигурация на платформата Ви. Не в системата за контрол на версиите, не в проследяван файл
.env, не в екранна снимка. - Сменяйте без прекъсване. Генерирайте заместващия ключ, разгърнете, потвърдете, че изпращането работи, после изтрийте стария. Изтриването е необратимо, а изтриването на ключ, който още се използва, спира транзакционното изпращане незабавно.
- Деактивирайте, вместо да изтривате, за да поставите интеграция на пауза. Ключовете могат да бъдат активирани отново по-късно.
- Очаквайте изтичане. Ключовете могат да носят срок от 7 дни до 1 година, а Brevo прекратява неактивните ключове след 90 дни.
За по-твърда граница Brevo може да блокира заявки от непознати IP адреси. Списъкът с разрешени адреси е споделен между API и SMTP ключовете, така че всичко, което разрешите, важи и за двете. Внимавайте при контейнеризирани или облачни натоварвания: изходящият адрес може да е NAT шлюз, а не IP адресът на инстанцията, който очаквате, и грешката там води до отхвърляне 525 5.7.1 Unauthorized IP address.
Екипите, които въртят Brevo заедно с магазин, CRM и поддръжка, в крайна сметка управляват няколко ключа, изпращачи и домейна наведнъж. Tajo държи тази конфигурация на едно място, вместо в четири табла.
Лимити и ограничаване на изпращането
Изпращането през SMTP черпи от имейл кредитите на Вашия план. При безплатния план това означава 300 изпратени имейла на ден; лимитът се нулира ежедневно и неизползваните изпращания не се прехвърлят. Щом го достигнете, Brevo задържа до 1000 допълнителни имейла в опашка за повторен опит и не доставя нищо извън тази опашка. Платените планове премахват дневния таван, а ръководството за цените на Brevo разглежда нивата.
Когато кредитите свършат напълно, съобщенията, подадени през SMTP, се поставят на пауза и в опашка, вместо да бъдат отхвърлени. Изостаналото се намира под Transactional, после Real time, после Usage and plan, в раздела Email queue.
Brevo публикува твърди ограничения на заявките за REST API, а не за релето. На общото ниво POST /v3/smtp/email допуска 1000 заявки в секунда, а надвишаването на лимит връща 429 Too Many Requests. Пътят през API връща и хедъри с ограниченията, по които да се темпото, каквито релето няма.
Наблюдение на отпаданията и оплакванията
Препратената поща е видима под Transactional, в страниците Statistics и Logs. Събитията, които изискват реакция:
- Твърдо отпадане. Адресът е невалиден и Brevo автоматично блокира контакта.
- Блокиран. Получателят преди това се е оплакал, отписал, твърдо отпаднал или е бил блокиран ръчно.
- Отложено и меко отпадане. Доставчикът е приел връзката, но е забавил или отказал съобщението. Повтарящи се отлагания при един доставчик сигнализират проблем с репутацията, а не с кода.
Постоянното проверяване на логовете не мащабира. Brevo поддържа транзакционни webhooks, които изпращат събития за доставка, отпадане, отваряне и оплакване към Вашия краен адрес в реално време, което е начинът да поддържате собствените си данни за изключените контакти актуални.
Числото, което да следите, е процентът оплаквания за спам. Gmail, Yahoo и Microsoft изискват изпращачите да останат под 0,3%, а Brevo препоръчва наблюдение с Gmail Postmaster Tools. Възстановяването след нарушение отнема далеч повече време от избягването му.
Отстраняване на проблеми
535 5.7.8 Authentication failed
Потребителското име или паролата не могат да бъдат потвърдени. По вероятност:
- Използван е имейл адресът на акаунта вместо SMTP login във формат
[email protected]. smtp-relay.brevo.comе поставен в полето за потребителско име. Brevo посочва това като една от най-честите причини.- Използван е API ключ вместо SMTP ключ.
- Ключът носи интервал или нов ред накрая от копиране и поставяне.
- Настройката за криптиране не съвпада с порта.
- Ключът е обезсилен след сигнал за сигурност, в който случай генерирайте нов.
525 5.7.1 Unauthorized IP address
Блокирането по IP е активно и свързващият се адрес не е разрешен. Добавете го и първо проверете реалния си изходящ адрес, ако приложението работи зад NAT или в контейнерна платформа.
Няма отговор и няма поздрав
Ако TCP връзката се отваря, но сървърът никога не изпраща поздрава си 220, удостоверяването не може да започне и проблемът е откъм Вашата страна на мрежата. Корпоративните защитни стени понякога допускат връзката и после тихо изхвърлят SMTP трафика. AWS, Azure и Google Cloud ограничават изходящия SMTP по подразбиране при нови акаунти. Поискайте ограничението да бъде вдигнато или преминете на порт 2525.
450, платформата не е активирана
Грешката казва, че Вашият SMTP акаунт още не е активиран или че изпращащата Ви платформа в момента е изключена. При нов акаунт транзакционното изпращане изисква отделна стъпка на активиране от поддръжката на Brevo. При установен акаунт това обикновено означава спиране, било защото незащитена форма е била атакувана от ботове, било защото акаунтът е показал признаци на компрометиране.
Изпращачът е отхвърлен
Проверете три неща: домейнът е удостоверен, изпращачът е потвърден и хедърът From не е Вашият SMTP login.
Пощата се приема, но попада в спам
Работете в този ред. Потвърдете, че изпращащият домейн е удостоверен и че DKIM подписва. Потвърдете, че домейнът в From е Ваш, а не на безплатен пощенски доставчик. Проверете процента си на оплаквания в Postmaster Tools спрямо прага от 0,3%. Погледнете съдържанието едва след като тези проверки са чисти, защото то почти никога не е първата причина.
Специални IP адреси
Специалният IP адрес помага само при висок и постоянен обем. Той трябва да бъде загрят, преди да изпращате смислено през него, и се нуждае от изпращащ поддомейн, който се появява като домейна mailed by и return path в хедърите Ви. Това е единствената конфигурация, при която Brevo предоставя SPF и MX записи, наред с A, CNAME, DKIM и DMARC записи за този поддомейн.
Две подробности хващат хората неподготвени. Специален IP адрес, конфигуриран само за маркетингови имейли, поставя транзакционните Ви съобщения в опашка, вместо да ги изпраща, така че или го превключете, или купете втори адрес. И разделянето на транзакционното от маркетинговото маршрутизиране изисква пул от поне два IP адреса с различни изпращачи, за да не може слабата ангажираност по маркетинговата поща да дърпа надолу разписките и нулиранията на пароли.
Как да го направите правилно от първия път
Удостоверете домейна, създайте наименуван SMTP ключ, свържете се към smtp-relay.brevo.com на 587 и изпратете тест през реалния път на кода, а не през бутон в таблото. Почти всеки по-късен проблем се проследява до едно от три неща.
- Грешна идентификационна стойност в полето за потребителско име или парола.
- Порт и настройка за криптиране, които си противоречат.
- Изпращащ домейн, който никога не е бил удостоверен.
Направете тези неща правилно и релето изчезва във фона, което е точно каквото транзакционната инфраструктура трябва да прави.