Корпоративная почта на Postfix + Dovecot: self-hosted альтернатива Exchange и Yandex 360 — АйТи Фреш
· 13 мин чтения

Корпоративная почта на Postfix + Dovecot: уходим с Exchange и Яндекс 360 без потерь

Корпоративная почта на Postfix + Dovecot: уходим с Exchange и Яндекс 360 без потерь

Меня зовут Семёнов Евгений Сергеевич, я директор АйТи Фреш. За 2024–2025 годы ко мне дважды приходили клиенты буквально с одной и той же историей. Слово в слово: «Пять лет сидели на Office 365, год назад перешли на Яндекс 360 — теперь не можем отправить письмо собственному контрагенту, и всё это удовольствие обходится как подержанная машина в год». Обоих я перевёл на собственный сервер. Никакой магии — просто связка Postfix + Dovecot + Rspamd + SOGo. Дальше расскажу, как это работает для офиса на 30–80 рабочих мест и почему в 2026 году я совершенно спокойно рекомендую такое решение.

Почему свой почтовик снова актуален

Помню, лет десять назад все говорили одно и то же: «self-hosted email — это боль, отдай в облако и не мучайся». В 2012-м, возможно, так и было. Но сейчас 2026 год, и картина другая — кардинально другая.

Архитектура, которую я разворачиваю

КомпонентРоль
PostfixMTA — приём и отправка SMTP
DovecotIMAP/POP3 для клиентов, LMTP-доставка
RspamdАнтиспам, Bayes, DKIM-подпись исходящих
OpenDKIM / Rspamd DKIMDKIM-подпись и проверка
SOGoWeb-интерфейс + CalDAV/CardDAV + ActiveSync
ClamAVАнтивирусная проверка вложений
PostgreSQL/MariaDBХранение ящиков, доменов, алиасов
RedisКэш Rspamd (Bayes, fuzzy)
nginxReverse 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 — SPF, DKIM, DMARC. Без них почта уходит в спам ко всем провайдерам, причём вы об этом можете вообще не узнать. Ниже — мой рабочий рецепт настройки 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 — это нулевая репутация. Mail.ru и Gmail не доверяют таким адресам: отправите сразу много писем — улетят в спам. Поэтому нужен warmup, то есть постепенный прогрев.

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. Дни 1–2: аудит почты в Яндексе. 54 ящика, около 180 ГБ писем. Из них 42 ГБ — только у двух директоров.
  2. Дни 3–4: разворачиваем VPS в Selectel, Санкт-Петербург. Конфигурация — 6 vCPU, 16 ГБ RAM, 600 ГБ NVMe. Настраиваем отдельный PTR, второй IP держим в резерве.
  3. Дни 5–6: на Debian 12 устанавливаем Postfix, Dovecot, Rspamd, SOGo, ClamAV. PostgreSQL — для хранения почтовых ящиков. DKIM-ключ 2048 бит, SPF прописан, DMARC на этапе warmup выставляем в p=none.
  4. Дни 7–9: миграция писем через imapsync. Начинаем с трёх тестовых ящиков, затем идём параллельно по 5–8 штук. Один ящик занимает от 10 до 40 минут — зависит от объёма. Контакты и календари переносим через SOGo: импорт VCF и ICS.
  5. День 10. Переключаем MX-записи — но старый Яндекс не отключаем сразу: он ещё неделю работает как backup MX и принимает почту. Параллельно рассылаем уведомления пользователям и настраиваем Outlook через ActiveSync.
  6. День 11. Прогоняем домен через mail-tester — получаем 10/10. Дальше начинается warmup: наращиваем объём отправки постепенно, без резких скачков. DMARC пока держим на p=none, через 4 недели переводим на p=quarantine.

Что получилось в итоге? Экономия — 280 тыс. руб. в год, полный контроль над почтой и инфраструктурой. За первые три месяца работы ни один документ не попал в спам. Стоимость проекта — 165 тыс. руб. за работу плюс 12 тыс. руб. в месяц за VPS. Окупился за 7 месяцев.

Бэкапы и мониторинг

Грабли, на которые я наступил

Разворачиваем корпоративную почту под ключ — от 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).

Подпишитесь на рассылку ITfresh

Каждую неделю — конкретные гайды для IT-руководителя и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.