Skip to Content

SMTP-перевірка email в Odoo: без API та щомісячної плати

Кожен hard bounce псує репутацію відправного домену, а кожен платний валідатор — це ще одна підписка з лімітом перевірок на місяць. Regexp скаже, що адреса виглядає правильно. MX-запис підтвердить, що домен приймає пошту. Але жоден з них не відповість на головне питання: чи існує конкретна скринька на сервері прямо зараз? У Suite валідації email KitWorks за це відповідає окремий модуль — і, на відміну від сусідів по списку, він не просить жодного API-ключа.

Три рівні перевірки — і чому SMTP найглибший

У Suite валідації email закладена ідея трьох рівнів глибини, від найшвидшого до найточнішого (детальніше — у порівнянні всіх методів валідації email у Suite):

  • Синтаксис — regexp-перевірка формату адреси. Швидко, але "ivan@vygaданийдомен.zzz" пройде без питань.
  • Домен — резолвінг MX-записів або сторонній API. Підтверджує, що домен взагалі приймає пошту, але не що конкретна скринька існує.
  • Існування скриньки — SMTP-перевірка. Звертається безпосередньо до поштового сервера і питає: "а ця конкретна адреса тут є?"

SMTP-модуль — це третій, найглибший рівень. Він не замінює перші два, а додає до пайплайну валідації ще одне правило validate_email_smtp у системі kw.email.validator.

Технічна механіка: п'ять кроків без магії

Модуль не звертається до жодного зовнішнього сервісу — він сам виступає поштовим клієнтом на секунду:

  1. Витягує домен з email-адреси.
  2. Резолвить MX-записи домену через DNS — визначає, який сервер відповідає за пошту.
  3. Підключається до поштового сервера за пріоритетом MX (спочатку основний, потім резервні).
  4. Імітує початок доставки листа: HELO (представлення), MAIL FROM (тестовий відправник, реальний лист не формується і нікуди не йде), RCPT TO — власне запит "чи прийме сервер лист для цієї адреси".
  5. Якщо сервер відповідає кодом 250 — скринька існує, результат valid. Будь-яка інша відповідь (або обрив з'єднання, недоступний MX) — invalid.

Результат зберігається в kw.email.validation.result разом з поясненням і кешується — повторна перевірка тієї ж адреси не запускає нове SMTP-з'єднання щоразу, що і швидше, і знижує ризик потрапити під захист від спаму на чужому сервері.

Чому це безкоштовно, коли решта Suite просить API-ключ

У базовому пакеті Suite валідації email є ще вісім методів через сторонні сервіси: NeverBounce, ZeroBounce, Clearout, Mailgun, MillionVerifier, MailerCheck, SendPulse, QuickEmailVerification. Кожен з них вимагає власний api_key і, як правило, платну підписку з лімітом перевірок.

SMTP-модуль працює інакше: він сам стає тимчасовим поштовим клієнтом і напряму спілкується з сервером одержувача з вашої інфраструктури. Жодного зовнішнього API, жодної щомісячної плати за кількість перевірок, дані адреси нікуди не передаються третій стороні. Для команд, які перевіряють великі обсяги лідів чи розсилкових баз, це особливо відчутно — точність без лічильника перевірок, який тане з кожним запитом.

Чесні обмеження методу

SMTP-перевірка — найточніший метод у Suite, але не безпомилковий, і це варто знати заздалегідь:

  • Catch-all сервери. Деякі поштові сервери відповідають кодом 250 на будь-яку адресу свого домену — навіть на неіснуючу. Це технічне обмеження протоколу, а не баг модуля: false-positive можливий.
  • Greylisting та антиспам-захист. Частина серверів тимчасово відхиляє незнайомі з'єднання як захист від спам-ботів — перевірка може провалитись навіть для реальної адреси.
  • Таймаут 30 секунд. Якщо сервер довго не відповідає, перевірка зупиняється як невдала.
  • Заборона RCPT-перевірки. Деякі великі поштові провайдери взагалі не дозволяють таку взаємодію на рівні протоколу з міркувань безпеки.

Тому SMTP найкраще працює не замість інших рівнів Suite, а разом із ними — як фінальний, найглибший фільтр над тими адресами, що вже пройшли синтаксис і MX.

Коли це вмикати

Найбільше сенсу SMTP-перевірка має перед масовою розсилкою (див. чек-лист підготовки бази перед Mass Mailing) або як фільтр на вході нових лідів у CRM (див. валідацію email у CRM-лідах) — там, де ціна помилки — репутація домену чи втрачений контакт з клієнтом. Якщо потрібна максимальна точність без прив'язки до чужого API-ліміту, це прямий кандидат.

Хочете підключити SMTP-перевірку до свого Odoo або підібрати комбінацію методів під ваш обсяг бази — обговоримо деталі.

Отримати консультацію →

KitWorks, Андрій Шевчук 10 липня 2026 р.
Поділитися цією публікацією
Теги
Архів