Корпоративная почта на Postfix + Dovecot: уходим с Exchange и Яндекс 360 без потерь
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. За 2024-2025 ко мне дважды приходили клиенты с одной и той же историей: «мы пять лет жили на Office 365, в прошлом году ушли на Яндекс 360, теперь не можем отправить письмо на собственного контрагента, и всё это стоит как подержанный автомобиль в год». Обоих перевёл на собственный сервер на Postfix + Dovecot + Rspamd + SOGo. Расскажу, как это делается для офиса на 30-80 рабочих мест и почему я не боюсь этого в 2026 году.
Почему свой почтовик снова актуален
Когда-то считалось, что «self-hosted email — это мучение, отдавайте в облако». Это было правдой в 2012, в 2026 ситуация другая:
- Дорого. Яндекс 360 Премиум — 320 руб/ящик/мес, бизнес-лицензия Google Workspace — ~950 руб/ящик/мес (через дилера). На 50 ящиков это 200-570 тыс руб/год. Свой сервер — 8-15 тыс руб/мес за VPS.
- Зависимость. В 2022 Microsoft заблокировал O365 для многих российских клиентов. В 2025 несколько крупных компаний потеряли доступ к почте на Яндексе из-за ошибки в биллинге.
- Конфиденциальность. Почта юрфирмы, медклиники, проектного института — это их капитал. Отдавать переписку в облако — добровольно делиться ей с провайдером.
- Технологический стек упростился. Postfix + Dovecot + Rspamd ставятся за день. SOGo даёт календари и ActiveSync. OpenDKIM и SPF — десять строк конфига.
Архитектура, которую я разворачиваю
| Компонент | Роль |
|---|---|
| Postfix | MTA — приём и отправка SMTP |
| Dovecot | IMAP/POP3 для клиентов, LMTP-доставка |
| Rspamd | Антиспам, Bayes, DKIM-подпись исходящих |
| OpenDKIM / Rspamd DKIM | DKIM-подпись и проверка |
| SOGo | Web-интерфейс + CalDAV/CardDAV + ActiveSync |
| ClamAV | Антивирусная проверка вложений |
| PostgreSQL/MariaDB | Хранение ящиков, доменов, алиасов |
| Redis | Кэш Rspamd (Bayes, fuzzy) |
| nginx | Reverse proxy для webmail + Let's Encrypt |
| Fail2ban | Защита SMTP/IMAP от брутфорса |
Все ящики — в MySQL/PostgreSQL, физическое хранение писем — в /var/mail/vmail/domain/user/Maildir. Бэкапится через borgbackup или Veeam Agent на отдельное хранилище.
Минимальная установка за два часа
Для примера — Debian 12 на VPS 4 vCPU / 8 ГБ / 500 ГБ SSD. PTR-запись настроена (mail.example.ru), MX в DNS указывает на этот сервер.
# 1. Postfix + Dovecot + PostgreSQL
apt install postfix postfix-pgsql dovecot-imapd dovecot-pgsql dovecot-lmtpd \
postgresql rspamd redis nginx certbot python3-certbot-nginx
# 2. TLS-сертификат
certbot --nginx -d mail.example.ru
# Сертификат попадёт в /etc/letsencrypt/live/mail.example.ru/
# 3. База данных
su - postgres -c 'createuser mail'
su - postgres -c 'createdb mail -O mail'
# Создаём таблицы domains, users, aliases
# 4. main.cf postfix — основа
postconf -e "myhostname = mail.example.ru"
postconf -e "mydomain = example.ru"
postconf -e "smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.ru/fullchain.pem"
postconf -e "smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.ru/privkey.pem"
postconf -e "smtpd_tls_security_level = may"
postconf -e "smtp_tls_security_level = may"
postconf -e "smtpd_sasl_auth_enable = yes"
postconf -e "smtpd_sasl_type = dovecot"
postconf -e "virtual_mailbox_domains = pgsql:/etc/postfix/pgsql-virtual-domains.cf"
postconf -e "virtual_mailbox_maps = pgsql:/etc/postfix/pgsql-virtual-users.cf"
postconf -e "virtual_transport = lmtp:unix:private/dovecot-lmtp"
systemctl restart postfix
# 5. Dovecot: conf.d/10-mail.conf, 10-auth.conf и sql-driver
# /etc/dovecot/dovecot-sql.conf.ext подключает к PostgreSQL
# 6. Rspamd — вся магия антиспама
systemctl enable --now rspamd
# Web UI на :11334, пароль через rspamadm pw
После этих шагов у вас работающий SMTP на 25/587 + IMAP на 993. Rspamd сам подхватывает DKIM-подписывание исходящих, если в /etc/rspamd/local.d/dkim_signing.conf указан ключ.
SPF / DKIM / DMARC — без них никуда
Без этих трёх записей в DNS ваша почта попадёт в спам у всех провайдеров. Это мой мастер-рецепт для DNS-зоны:
# SPF
example.ru. IN TXT "v=spf1 a mx ip4:203.0.113.10 -all"
# DKIM (selector mail, 2048-bit key)
mail._domainkey.example.ru. IN TXT \
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
# DMARC — сначала p=none для warmup, потом p=quarantine
_dmarc.example.ru. IN TXT \
"v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.ru; \
ruf=mailto:dmarc-failures@example.ru; sp=quarantine; adkim=s; aspf=s"
# PTR — у хостера через тикет или панель
203.0.113.10 -> mail.example.ru
Проверка через mail-tester.com: должно быть 10/10. Если меньше — разбираем каждый пункт.
Warmup IP — обязательно
Новый IP с 0 репутации. Mail.ru и Gmail не пропустят от него сразу много писем — уйдёт в спам. Процедура warmup:
- Дни 1-3: 10-30 писем в сутки на разные адреса.
- Дни 4-7: 50-150 писем.
- Дни 8-14: 300-500.
- Дни 15-30: 800-2000.
- После 30 дней при стабильных spam-complaints <0.1% IP прогрет.
Подписка на Postmaster Tools Mail.ru и Google обязательна — там видно, какой у вас reputation score и что с ним происходит.
SOGo — календари, контакты, ActiveSync
Голый Postfix+Dovecot даёт только IMAP. Чтобы получить функционал «как у Exchange» — общие календари, адресная книга отдела, ActiveSync для мобильных Outlook — ставим SOGo.
apt install sogo sogo-openchange memcached
# /etc/sogo/sogo.conf — указываем PostgreSQL, Dovecot IMAP
# nginx reverse proxy на /SOGo/ → localhost:20000
# ActiveSync endpoint:
# https://mail.example.ru/SOGo/Microsoft-Server-ActiveSync
После этого пользователи открывают https://mail.example.ru/SOGo/ и попадают в полноценный webmail с календарями и контактами. Outlook через ActiveSync синхронизирует почту, календари и контакты полноценно. Мобильные iOS/Android — через стандартный Exchange-клиент.
Кейс: 54 ящика для проектного бюро
В ноябре 2025 к нам обратилось проектное бюро — 54 сотрудника, доменная почта была на Яндекс 360 Бизнес. Причины ухода: стоимость подписки выросла до 280 тыс руб/год, плюс требование конфиденциальности — проекты под NDA с госзаказчиком. Нужно было перевести всё, не потеряв ни одного старого письма и ни одного контакта.
Что сделали за 11 рабочих дней:
- Дни 1-2: Аудит текущей почты в Яндексе. Объёмы: 54 ящика, ~180 ГБ писем, из них 42 ГБ у двух директоров.
- Дни 3-4: VPS 6 vCPU / 16 ГБ / 600 ГБ NVMe в Selectel (Санкт-Петербург). Отдельный PTR, второй IP в резерве.
- Дни 5-6: Установка Postfix+Dovecot+Rspamd+SOGo+ClamAV на Debian 12. Настройка PostgreSQL для ящиков, DKIM-ключ 2048 бит, SPF, DMARC p=none на warmup.
- Дни 7-9: Миграция писем через imapsync. Сначала 3 тестовых ящика, потом параллельно по 5-8. Каждый ящик — 10-40 минут в зависимости от объёма. Контакты и календари — импорт через SOGo (VCF/ICS).
- День 10: Переключение MX — старый Яндекс остаётся принимать как backup MX ещё неделю. Уведомление пользователям, настройка Outlook через ActiveSync.
- День 11: Тестирование деливерабилити на mail-tester (10/10), постепенный warmup, переключение DMARC на p=quarantine через 4 недели.
Результат: экономия 280 тыс руб/год, полный контроль почты, ни один документ не ушёл в спам за первые 3 месяца эксплуатации. Стоимость проекта — 165 тыс руб (работа) + 12 тыс руб/мес (VPS). Окупилось за 7 месяцев.
Бэкапы и мониторинг
- Маилдиры каждую ночь через borgbackup на отдельный сервер или S3 (MinIO).
- База почтовых пользователей — pg_dump раз в 6 часов.
- Мониторинг очереди Postfix:
mailq | wc -lв Zabbix каждые 5 минут. Рост >50 — алерт. - Мониторинг SMTP-auth брутфорсов через Fail2ban + grafana.
- Проверка blacklist раз в час: Spamhaus, Barracuda, SURBL. Попадание — срочный алерт в Telegram.
- DMARC-отчёты — парсим через parsedmarc + Elasticsearch + Kibana.
Грабли, на которые я наступил
- PTR не совпадает с HELO. Gmail отвергает, mail.ru шлёт в спам. Обязательно проверять
dig -x IP. - MX на том же IP что и вебсервер. Если wp-админка ломанётся, IP попадает в blacklist, и почта встаёт. Разделяйте.
- ClamAV жрёт 1+ ГБ RAM. На VPS 4 ГБ — проблема. Берите минимум 8 ГБ.
- Rspamd Bayes без Redis. Запомните: Bayes без Redis хранится локально и теряется при перезапуске. Только с Redis.
- SOGo не синхронизирует с Outlook 2021. ActiveSync с Outlook Desktop глюкает. Работает только через MAPI-over-HTTP (через openchange), но это пока бета.
- Внешние блеклисты. Если IP в диапазоне известного спам-хостинга (DigitalOcean, OVH отдельные диапазоны) — заблокируют на общем правиле. Selectel, Yandex.Cloud, Timeweb — ок.
Разворачиваем корпоративную почту под ключ — от 140 000 руб.
Я лично проектирую и ставлю self-hosted почтовые серверы для компаний 30-150 ящиков в Москве и области. Postfix + Dovecot + Rspamd + SOGo, DKIM/SPF/DMARC, warmup IP, миграция с Яндекс 360 / Office 365 / Exchange, антиспам, бэкапы. Типовой проект — 2-3 недели. Бесплатный аудит текущей почты и план миграции.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — self-hosted почта
- Есть смысл в 2026 году держать свою почту, а не Яндекс 360?
- Три причины да: 1) нет абонентской платы 320-640 руб/ящик/мес — для 50 ящиков это 200-400 тыс руб/год экономии. 2) Полный контроль над перепиской — требование для юрфирм, оборонки, НКО. 3) Нет зависимости от политик вендора. Против: нужен админ с опытом, без которого починка при сбое становится проблемой.
- Какое железо нужно для 50 ящиков?
- Один виртуальный сервер 4 vCPU / 8 ГБ RAM / 500 ГБ SSD для почтовых ящиков и 200 ГБ отдельный диск для MySQL/Redis. На физическом железе — любой Dell PowerEdge б/у или аренда VPS у Selectel/Timeweb. Отдельный DNS и MX-запись обязательны, plus PTR у хостера.
- Как попасть в inbox у Mail.ru и Gmail?
- Обязательно правильно настроенные SPF, DKIM, DMARC. PTR-запись точно совпадает с HELO. Warmup IP — постепенное увеличение объёма с 10 писем/сутки до целевого за 30 дней. Подписка на Postmaster Tools в Mail.ru и Google. Регулярный мониторинг blacklist — Spamhaus, Barracuda, SURBL.
- Нужен ли Exchange-функционал (календари, контакты, общие ящики)?
- Да — для полноценной альтернативы ставим SOGo. Даёт веб-интерфейс + ActiveSync для Outlook и мобильных + CalDAV/CardDAV. Общие календари отдела, общие ящики типа info@, делегирование доступа. Интеграция с Thunderbird полноценная, с Outlook — через ActiveSync.
- Сколько стоит развёртывание корпоративной почты под ключ?
- Для офиса 30-80 ящиков: железо/VPS — 5-12 тыс руб/мес, работа по установке и настройке под ключ (Postfix, Dovecot, Rspamd, SOGo, SPF/DKIM/DMARC, Warmup, антиспам, бэкапы) — от 140 тыс руб разово. Плюс 15-25 тыс руб/мес на поддержку (мониторинг, обновления, reputation control).