Блог

Уроки, руководства и новости продукта.

Разработчикам

Прежде чем поднимать свой почтовый сервер

2 ноября 2026 4 мин. чтения
Поделиться записью

Большинству людей свой почтовый сервер не стоит поднимать. Установить его легко, а вот добиться, чтобы письма попадали во входящие, трудно. Прежде чем начать, нужно знать о четырёх вещах: открыт ли исходящий порт 25, какая PTR-запись (обратный DNS) у вашего IP-адреса, какие у вас записи SPF, DKIM и DMARC и какова репутация вашего IP-адреса.

Крупные почтовые сервисы не доверяют письмам с незнакомого сервера. Даже правильно настроенный новый сервер может попасть в спам просто потому, что у него нет истории. К тому же сервер должен работать без перерывов, получать обновления и находиться под наблюдением на предмет злоупотреблений.

Когда это имеет смысл?

Свой сервер имеет смысл для обучения, для нескольких ящиков на паре доменов или когда вы хотите держать данные у себя. Он не имеет смысла, если от почты зависит ваш бизнес, если вы планируете массовые рассылки вроде новостных или у вас нет времени следить за сервером. Бэкапы ящиков тоже придётся делать самим, потому что входящая почта лежит на диске сервера.

Порт 25

  • Почтовые серверы доставляют друг другу почту через порт 25. Чтобы получать почту, порт должен быть открыт для входящих соединений. Чтобы отправлять — для исходящих.
  • Многие сети и провайдеры ограничивают исходящий порт 25, чтобы предотвратить злоупотребления. В Seturack на новых серверах он тоже сначала закрыт, а открыть его из панели можно одним щелчком.
  • Почтовые клиенты, например на телефонах и Thunderbird, используют порты подачи 587 или 465. Эти порты нельзя использовать для доставки между серверами.

Исходящий порт 25 можно проверить на своём сервере так. Если в выводе «25 open», соединение устанавливается:

timeout 5 bash -c 'exec 3<>/dev/tcp/gmail-smtp-in.l.google.com/25' && echo "25 open" || echo "25 closed"

Массовая рассылка писем людям, которые их не просили, и создание для этого инфраструктуры нарушают условия обслуживания Seturack.

PTR, SPF, DKIM и DMARC

По этим записям получатели проверяют, что письмо действительно от вас. Все они хранятся в DNS. Большинство вы задаёте там, где управляете доменом, а PTR-запись определяет владелец IP-адреса. Прежде чем заказывать, выясните, позволяет ли ваш провайдер задать PTR-запись для вашего сервера. Если dig нет, установите его командой sudo apt install -y dnsutils.

ЗаписьДля чего нуженКоманда для проверки
PTR (обратный DNS)Превращает IP-адрес в имя. Многие получатели ждут, что это имя разрешается обратно в тот же IP.dig -x 203.0.113.5 +short
MXСообщает отправителям, какой сервер принимает почту для вашего домена.dig +short MX example.com
SPFПеречисляет IP-адреса, которым разрешено отправлять почту от имени вашего домена.dig +short TXT example.com
DKIMПодписывает исходящую почту. Открытый ключ лежит в DNS.dig +short TXT selector._domainkey.example.com
DMARCСообщает получателям, что делать, если проверка SPF или DKIM не прошла.dig +short TXT _dmarc.example.com

Согласно официальным требованиям Google к отправителям, все отправители должны настроить SPF или DKIM, у IP или домена отправки должны быть корректные прямая и обратная (PTR) DNS-записи, почта должна идти по TLS, а доля спама должна быть ниже 0,3 процента. Отправители, которые шлют на аккаунты Gmail больше 5000 писем в день, обязаны настроить все три: SPF, DKIM и DMARC.

Репутация IP

У каждого IP-адреса есть история. Если выданный вам адрес раньше использовали для злоупотреблений, он может оказаться в публичных списках блокировки (DNSBL). Перед отправкой проверьте свой адрес по этим спискам. У нового адреса репутации нет. Она складывается со временем, если начинать с небольших объёмов и отправлять регулярную ожидаемую почту. Резкая крупная рассылка обычно сразу портит репутацию нового адреса.

Осторожно с IPv6

Если у вашего сервера есть IPv6, Postfix может отправлять исходящую почту и по IPv6. Для IPv6 нужны собственные записи PTR и SPF. Если вы их не настроили, заставьте Postfix использовать IPv4. В документации Postfix сказано, что для этой настройки нужен перезапуск, а перезагрузки конфигурации недостаточно:

sudo postconf -e "inet_protocols = ipv4"

sudo systemctl restart postfix

Ресурсы и обслуживание

Postfix и Dovecot спокойно работают на небольшом сервере. Готовые пакеты вроде mailcow приносят также веб-интерфейс, спам-фильтр и антивирусную проверку. Официальное требование mailcow — не менее 6 GiB RAM плюс 1 GiB подкачки в конфигурации по умолчанию. Есть и другие варианты, например Mail-in-a-Box и iRedMail. Какой бы вы ни выбрали, обновления, бэкапы и мониторинг — ваша забота.

Памятка перед отправкой

  1. Открыт ли исходящий порт 25?
  2. Задана ли PTR-запись и разрешается ли она обратно в тот же IP?
  3. Опубликованы ли записи SPF, DKIM и DMARC?
  4. Действителен ли сертификат TLS?
  5. Нет ли IP-адреса в каком-нибудь списке блокировки?
  6. Попало ли пробное письмо самому себе во входящие или в спам?

Путь попроще

Для большинства проектов практичнее всего отправлять транзакционную почту (сброс пароля, уведомления о заказах) через сервис доставки почты, а для входящих использовать размещённый почтовый сервис. Ваш сервер занимается только приложением, а доставку писем вы оставляете специалистам. Если вы всё же хотите держать свой сервер, перед установкой проверьте записи выше.

Комментарии0

Комментариев пока нет

Поделитесь своим мнением первым.

Присоединяйтесь к обсуждению

Пожалуйста, войдите или зарегистрируйтесь, чтобы оставить комментарий.

Не пропускайте новые записи

Получайте наши свежие инструкции, руководства и новости продукта на почту.

Вы подписались на нашу рассылку.