Поштовий сервер: чому це складно і що врахувати
Чому порти для вихідної пошти закриті та як їх відкрити, що налаштувати, щоб листи доходили — PTR, SPF, DKIM, DMARC — і коли не варто тримати власний поштовий сервер.
Оновлено 23 серпня 2026 р.
Налаштування поштового сервера — завдання технічно нескладне. Складно інше: змусити ваші листи потрапляти до «Вхідних», а не до спаму, і уникнути тихих відмов. У цій статті розглянемо, що потрібно зробити перед надсиланням першого листа.
Чому це окреме завдання
Отримання пошти працює майже одразу: ви налаштовуєте сервер, відкриваєте порт 25 — і листи надходять. Проблема в надсиланні, і вона має дві частини. По-перше, вихідні поштові порти на нашій платформі закриті за замовчуванням і відкриваються за запитом. По-друге, сторона, що приймає (Gmail, Mail.ru, Yandex), перевіряє відправника за кількома критеріями, і невідповідність будь-якому з них перетворює лист на спам або відмову.
Як мінімум перевіряють таке:
| Що перевіряють | Де налаштувати | Що буде без цього |
|---|---|---|
| Чи відкритий вихідний порт 25 | Запит до підтримки | Листи взагалі не надсилаються |
| Зворотний DNS (PTR) | Вкладка «Доступ» у панелі машини | Відмова на етапі з'єднання |
| SPF | DNS домену | Лист потрапляє до спаму |
| DKIM | DNS домену + поштовий сервер | Лист потрапляє до спаму |
| DMARC | DNS домену | Домен легко підробити |
| Репутація IP | Історія надсилань | Тиха фільтрація |
Порядок налаштування
- Запросіть вихідні порти. Порти 25, 465 і 587 закриті для вихідного трафіку, доки їх не відкриють за вашим запитом. Почніть саме з цього: без цього ви не зможете перевірити решту, як описано нижче.
- PTR. Запис зворотного DNS має збігатися з іменем, яке сервер представляє в SMTP. Задайте його в панелі машини на вкладці «Доступ», наприклад
mail.example.com, і створіть відповідний прямий A-запис, що вказує на адресу машини. - Поштовий стек. Найпростіший варіант — готове контейнеризоване рішення: docker-mailserver або Mailcow. Воно встановлюється через Docker Compose і саме підніме Postfix, Dovecot, антивірус і ключі DKIM.
- DNS. Створіть MX-запис для імені сервера, потім SPF і DMARC:
example.com. MX 10 mail.example.com.
example.com. TXT "v=spf1 mx -all"
_dmarc.example.com. TXT "v=DMARC1; p=quarantine; rua=mailto:postmaster@example.com"
- DKIM. Поштовий сервер генерує ключ; публічну частину ви публікуєте як TXT-запис
<selector>._domainkey.example.com. - Перевірка. Надішліть лист на сервіс тестування (mail-tester, learndmarc) і прагніть до повного балу. Не надсилайте жодних масових розсилок до цього.
Вихідні поштові порти закриті за замовчуванням
Це головне, що потрібно знати перед встановленням поштового сервера. Вихідний трафік із машини на порти 25, 465 і 587 заблоковано на хості. Надсилання пошти назовні з нової машини не працює і не почне працювати через налаштування всередині системи: пакети не залишають її мережевий інтерфейс.
Перевірити це можна так — з'єднання не встановиться:
nc -vz smtp.gmail.com 25
Це зроблено тому, що зламана машина першою починає розсилати спам, і всім сусідам на хості доводиться відповідати за адресу та її репутацію. На отримання пошти це не впливає: вхідні з'єднання на 25, 465, 587 і 993 не блокуються, і поштовий сервер одразу приймає листи.
Як їх відкрити
Порти відкривають за запитом, вручну і не миттєво. Кнопки для цього в панелі немає.
- Напишіть до підтримки, вказавши номер машини (вкладка «Оплата», блок «Для підтримки»).
- Опишіть, що ви надсилаєте: домен, характер листів, приблизний добовий обсяг.
- Дочекайтеся відповіді. Поки порти закриті, ви можете встановити й налаштувати поштовий сервер — але не можете перевірити надсилання.
Масові розсилки на куплені бази не відкривають за жодних пояснень; дивіться Що можна і чого не можна робити на машині.
Якщо надсилання потрібне сьогодні, а не після листування, скористайтеся зовнішнім релеєм: поштовий сервіс надає SMTP-логін і приймає з'єднання на порту 2525 або через API, і порт 25 не потрібен.
Фаєрвол усередині машини
Зі свого боку дозвольте вхідні з'єднання на поштові порти:
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 465/tcp
sudo ufw allow 993/tcp
Правила ufw контролюють лише те, що входить до вашої системи. Блокування вихідних 25, 465 і 587 — зовнішнє, і ufw allow out його не знімає.
Ніколи не залишайте відкритий релей. Перевірте:
swaks --to test@example.com --server <machine-address>з іншої машини без автентифікації — з'єднання має бути відхилене. Відкритий релей за день перетворює адресу машини на джерело спаму й назавжди руйнує її репутацію.
Коли власний поштовий сервер не потрібен
- Вам потрібно лише надсилати сповіщення із застосунку — скористайтеся зовнішнім сервісом надсилання. Це дешевше й дає кращу доставлюваність. Підключайтеся до нього через HTTP API або альтернативний порт, наприклад 2525: стандартні порти 465 і 587 закриті так само, як і 25.
- Вам потрібна пошта на домені для людей — поштовий хостинг розв'яже завдання без вашої участі.
- Ви не готові стежити за оновленнями та чергою — занедбаний поштовий сервер стає дірою в безпеці.
Власний сервер виправданий, коли важлива незалежність і ви готові до обслуговування: резервні копії поштових скриньок обов'язкові, а під пошту потрібно виділити місце на диску із запасом — дивіться місце на диску.