ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
Сценарии использования и решения

Свой корпоративный или транзакционный почтовый сервер (Mailcow или Postal) на выделенном IP: PTR, SPF/DKIM/DMARC, MTA-STS и прогрев IP

8 шагов 24 мин чтения 14 просмотров 0
Содержание

Надёжный собственный почтовый сервер для бизнеса или транзакционных писем держится на трёх вещах: выделенном IP с совпадающей записью rDNS/PTR, правильных SPF, DKIM и DMARC и медленном, честном прогреве — при условии, что вы заранее подтвердили у провайдера доступность исходящего порта 25. Серверы IMIDC в Гонконге, Токио (Япония) и Лос-Анджелесе (США) поставляются с выделенными IPv4, а rDNS настраивается по тикету, так что можно запустить Mailcow для корпоративных ящиков или Postal для писем из приложений.

Ключевые факты
  • До покупки уточните у поддержки IMIDC политику исходящего порта 25 — не считайте, что он открыт.
  • Площадки: Гонконг (VPS от $18/мес, выделенный от $139/мес), Токио, Япония (VPS от $28/мес), Лос-Анджелес, США (выделенный от $499/мес).
  • Выделенный IPv4, PTR/rDNS настраивается по тикету; нативные IP в Японии и США.
  • ПО: Mailcow (ящики, веб-почта, антиспам) или Postal (транзакционный API и вебхуки), оба на Docker.
  • Массовые незапрошенные рассылки и спам запрещены; злоупотребления могут привести к приостановке услуги.

Mailcow или Postal: выбор по задаче

Mailcow — когда людям нужны почтовые ящики; Postal — когда приложениям нужно отправлять чеки, сброс пароля и уведомления.

ПараметрMailcow (dockerized)Postal
НазначениеКорпоративные ящики, календари, веб-почтаИсходящая транзакционная почта приложений
КомпонентыPostfix, Dovecot, Rspamd, SOGo, ClamAVSMTP-сервер, HTTP API, трекинг открытий/кликов, вебхуки
Входящая почтаПолноценные ящики IMAP/POP3Маршрутизация на HTTP-эндпоинты или другие серверы
РесурсыОколо 6 ГБ RAM плюс swap по документации проектаНесколько ГБ RAM плюс MariaDB
Продукт IMIDCVPS или начальный выделенный серверVPS при малом объёме, выделенный — при большом

Многие используют оба: Mailcow на одном IP для сотрудников, Postal — на другом, чтобы проблемы с рассылками приложения не портили доставляемость служебной почты.

Шаг 1: порт 25, репутация IP и PTR

До установки проверьте три условия, которые никакое ПО потом не исправит.

  • Порт 25: откройте тикет в поддержке IMIDC, опишите задачу (корпоративная или транзакционная почта, ожидаемый дневной объём) и подтвердите, что исходящий SMTP разрешён на вашем тарифе.
  • Репутация IP: перед запуском проверьте выданный IP в Spamhaus, Barracuda и других блок-листах (см. наше руководство по проверке IP в чёрных списках).
  • rDNS/PTR: попросите IMIDC установить PTR вашего IP на почтовое имя, например mail.example.com, и убедитесь, что A-запись указывает обратно (прямое и обратное совпадают). Подробности — в нашем руководстве по rDNS.
# 1. is outbound port 25 open? (should print "succeeded"/"open")
nc -vz -w 5 gmail-smtp-in.l.google.com 25

# 2. does the PTR match your mail hostname?
dig -x 203.0.113.25 +short          # expect: mail.example.com.
dig +short mail.example.com A       # expect: 203.0.113.25

# 3. set the server hostname to the same FQDN
sudo hostnamectl set-hostname mail.example.com

Шаг 2: установка Mailcow или Postal через Docker

У обоих проектов есть официальные установщики на Docker; сначала установите Docker и Docker Compose.

Mailcow для корпоративных ящиков:

# mailcow: full business mailbox suite (SMTP, IMAP, webmail, antispam)
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
./generate_config.sh        # enter mail.example.com and your time zone
docker compose pull
docker compose up -d
# then log in at https://mail.example.com, add domain + mailboxes,
# and copy the DKIM public key from Configuration > ARC/DKIM keys

Postal для транзакционных писем:

# Postal: transactional / app mail with an HTTP API, webhooks and tracking
git clone https://github.com/postalserver/install /opt/postal/install
sudo ln -s /opt/postal/install/bin/postal /usr/bin/postal
docker run -d --name postal-mariadb -p 127.0.0.1:3306:3306 --restart always \
  -e MARIADB_DATABASE=postal -e MARIADB_ROOT_PASSWORD=change-me mariadb
postal bootstrap postal.example.com
# edit /opt/postal/config/postal.yml (DB password, DNS names), then:
postal initialize
postal make-user
postal start

Установщик Postal использует Caddy для HTTPS веб-интерфейса; Mailcow сам получает сертификаты Let's Encrypt. Открывайте только нужные порты: 25, 465/587 для отправки, 993 для IMAPS и 443 для веб-интерфейса.

Шаг 3: SPF, DKIM, DMARC и MTA-STS

Записи аутентификации сообщают Gmail, Outlook и Yahoo, что ваш сервер вправе отправлять почту от имени домена и что письма не изменены.

; DNS zone for example.com (adapt names, IP and DKIM key)
mail.example.com.             A     203.0.113.25
example.com.                  MX    10 mail.example.com.
example.com.                  TXT   "v=spf1 mx ip4:203.0.113.25 ~all"
dkim._domainkey.example.com.  TXT   "v=DKIM1; k=rsa; p=MIIBIjANBgkq...IDAQAB"
_dmarc.example.com.           TXT   "v=DMARC1; p=none; rua=mailto:[email protected]; adkim=s; aspf=s"
_mta-sts.example.com.         TXT   "v=STSv1; id=20261008"
_smtp._tls.example.com.       TXT   "v=TLSRPTv1; rua=mailto:[email protected]"
mta-sts.example.com.          A     203.0.113.25
  • SPF перечисляет разрешённые IP; одна запись на домен, не более 10 DNS-запросов.
  • DKIM подписывает каждое письмо; опубликуйте открытый ключ, созданный Mailcow или Postal, используйте 2048-битные ключи.
  • DMARC начинайте с p=none для сбора отчётов, затем переходите к quarantine и reject, когда все легитимные источники проходят проверку.
  • MTA-STS и TLS-RPT требуют от других серверов TLS при доставке вам и присылают отчёты об ошибках.
# served at https://mta-sts.example.com/.well-known/mta-sts.txt
version: STSv1
mode: testing
mx: mail.example.com
max_age: 86400

Запускайте MTA-STS в режиме testing, через несколько чистых недель переключайте на enforce и меняйте id при каждом изменении политики. Проверьте всё:

dig +short TXT example.com | grep spf1
dig +short TXT dkim._domainkey.example.com
dig +short TXT _dmarc.example.com
curl -s https://mta-sts.example.com/.well-known/mta-sts.txt
# TLS on submission and inbound SMTP
openssl s_client -starttls smtp -connect mail.example.com:25 -servername mail.example.com </dev/null | head -5

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

Шаг 4: прогрев нового IP

У нового IP нет репутации, поэтому увеличивайте объём постепенно и пишите только активным получателям, давшим согласие.

ПериодПисем в день (на каждого провайдера)Что отправлятьЗа чем следить
Дни 1–320–50Внутренние и знакомые адресаты, которые ответятПопадание во «Входящие» или «Спам»
Дни 4–750–200Транзакционные письма, самые активные клиентыОтказы ниже 2%
Неделя 2200–1 000Обычный транзакционный потокЖалобы, Postmaster Tools
Недели 3–41 000–5 000Нормальный рабочий объёмОтсрочки (4xx), блок-листы
После 4-й неделиРост на 20–30% в неделю при чистых метрикахСтабильный объёмВсё перечисленное

Это консервативные ориентиры, а не гарантия результата. При отсрочках или попадании в спам держите объём на месте, пока ситуация не нормализуется. Зарегистрируйтесь в Google Postmaster Tools и Microsoft SNDS для контроля репутации.

Шаг 5: мониторинг блок-листов и очередей

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

#!/bin/sh
# rbl-check.sh 203.0.113.25 - run daily from cron, alert on any hit
IP="$1"; REV=$(echo "$IP" | awk -F. '{print $4"."$3"."$2"."$1}')
for BL in zen.spamhaus.org b.barracudacentral.org bl.spamcop.net; do
  if dig +short "$REV.$BL" A | grep -q '^127\.'; then
    echo "LISTED on $BL"
  else
    echo "clean   $BL"
  fi
done
# note: Spamhaus refuses queries via large public resolvers; use your own resolver
  • Запускайте проверку ежедневно через cron и отправляйте оповещения по каналу, не зависящему от этого сервера.
  • Следите за очередью (postqueue -p в контейнере Postfix у Mailcow) и журналом сообщений Postal.
  • Еженедельно читайте агрегированные отчёты DMARC, чтобы выявлять неизвестных отправителей, подделывающих ваш домен.
  • При попадании в список сначала устраните причину (взломанный ящик, открытая форма, плохая база), затем запрашивайте исключение.

Выбор площадки по получателям

Размещайте почтовый сервер ближе к большинству получателей и там, где IP выглядит «местным».

Площадка IMIDCЛучше всего для получателей вПримечания
ГонконгГонконге, Большом Китае, Юго-Восточной АзииCN2 GIA в материковый Китай; VPS от $18/мес, выделенный от $139/мес
Токио, ЯпонияЯпонииНативный японский IP; VPS от $28/мес
Лос-Анджелес, СШАСеверной Америке и у пользователей Gmail/Outlook по всему мируНативный IP США; выделенный от $499/мес

Расположение влияет на задержки и «локальность» IP, но для попадания во «Входящие» гораздо важнее репутация, аутентификация и качество базы.

Какая конфигурация IMIDC подойдёт

Выбирайте по числу ящиков и дневному объёму и разделяйте потоки почты по разным IP.

  • До ~50 ящиков: VPS в Гонконге или Японии с достаточной RAM для Mailcow и выделенным IP.
  • Транзакционная почта приложения или магазина: Postal на VPS с переходом на выделенный сервер по мере роста.
  • Почта сотрудников + почта приложения: два IP (или два сервера) — один для Mailcow, другой для Postal.
  • Большие объёмы или требования комплаенса: выделенный сервер в Гонконге или Лос-Анджелесе с RAID и резервным копированием.

Дополнительные IP и индивидуальные конфигурации — через отдел продаж IMIDC; существующий почтовый сервер можно перенести с помощью бесплатной миграции IMIDC.

Частые вопросы

Какой хостинг позволяет запустить свой почтовый сервер с портом 25 в Гонконге или Японии?

IMIDC предлагает VPS и выделенные серверы в Гонконге и Токио с выделенными IP и записями PTR, настраиваемыми по тикету. Перед покупкой уточните у поддержки IMIDC политику исходящего порта 25 для выбранного тарифа.

Почему письма с моего сервера попадают в спам?

Обычные причины — отсутствующие или невыровненные SPF, DKIM или DMARC, PTR не совпадает с именем хоста, новый IP отправляет слишком много и слишком быстро, либо IP в блок-листе. Сначала исправьте аутентификацию, затем прогревайте медленно.

Что выбрать: Mailcow или Postal?

Mailcow — для людей, которым нужны ящики и веб-почта; Postal — для приложений, отправляющих чеки и уведомления через API. Многие компании используют оба на разных IP.

Можно ли делать рассылки с сервера IMIDC?

Незапрошенные массовые рассылки и спам запрещены. Предполагаемое использование — деловая и транзакционная почта умеренного объёма получателям, давшим согласие; сообщите поддержке ваш объём до начала работы.

Готовы запустить почтовый сервер? Выберите VPS в Гонконге, VPS в Японии или выделенный сервер в Лос-Анджелесе и откройте тикет, чтобы подтвердить порт 25 и настроить rDNS, либо свяжитесь с отделом продаж насчёт дополнительных IP.

Помог ли вам данный ответ?

Похожие руководства