Документация / Доставляемость и отправка почты

Доставляемость и отправка почты

Nimbopanel запускает полноценный почтовый стек (Postfix, Dovecot, OpenDKIM) для ваших клиентов. Приём почты работает, как только настроен ваш DNS. Отправка во внешний мир требует одного дополнительного шага почти на каждом бюджетном VPS — это та часть, на которой люди чаще всего застревают, так что её стоит понять.

Приём работает из коробки

Как только вы добавите почтовые DNS-записи (ниже), ваш сервер принимает почту для ваших размещённых доменов, хранит её и отдаёт по защищённому IMAP (порт 993) и веб-почте. Больше ничего не нужно, чтобы принимать.

Опубликуйте эти записи у своего DNS-хостинга (Nimbopanel генерирует их автоматически в зоне каждого аккаунта — скопируйте значения в Cloudflare / к своему регистратору):

Тип Имя Значение
MX @ mail.yourdomain.com (priority 10)
TXT @ v=spf1 mx a:mail.yourdomain.com ~all (SPF)
TXT _dmarc v=DMARC1; p=none; rua=mailto:postmaster@yourdomain.com
TXT <selector>._domainkey публичный ключ DKIM, показанный в почтовом инструменте панели

Ваш собственный домен — тот, с которого отправляет сама панель (квитанции, уведомления, письма «как оплатить»), — обычно не имеет хостинг-аккаунта. Откройте Система → Доставляемость почты и нажмите Опубликовать почтовые записи: панель запишет эти записи в свою DNS-зону и включит подпись DKIM за один шаг. Если DNS этого домена размещён в другом месте, та же кнопка покажет точные значения, которые нужно добавить там.

Сначала: выясните, нужен ли вам релей вообще

Доставка на почтовый сервер получателя всегда использует порт 25 — это стандарт SMTP, а не настройка — и многие провайдеры блокируют его на исходящих, чтобы остановить спам. Это в сети провайдера, а не на вашем сервере, так что вы не можете отключить это сами, даже под root. Когда он заблокирован, сообщения сидят в очереди днями, а затем отбиваются, что выглядит в точности как «отправлено, но так и не пришло».

Панель измеряет это, а не предполагает. Откройте страницу администратора System и прочитайте карточку Outgoing mail. Она говорит одно из четырёх:

Карточка говорит Что это значит
port 25 is open Этот сервер может доставлять напрямую. Релей необязателен — настройте его, только если хотите репутацию сервиса доставки вместо IP этого сервера.
sent through a relay Релей настроен и используется.
This server cannot deliver email to the internet Порт 25 заблокирован. Всё, отправленное на внешний адрес, отобьётся. Настройте релей ниже.
Could not determine whether port 25 works Сама проверка не смогла завершиться. Прочитайте строку с подробностями; не считайте это «всё в порядке».

Вам не придётся искать это специально. Когда сервер не может доставлять, вверху каждой страницы панели появляется баннер с кнопкой Set up a relay — потому что изнутри панели заблокированная отправка выглядит в точности как успешная, и никто не открывает карточку настроек, которую нет причин подозревать.

Вердикт выносится по IPv4, потому что именно там живёт фильтр провайдера. Сервер с двойным стеком может достучаться до почтового хоста по IPv6, будучи на практике совершенно неспособным доставлять, — и это ровно то ложное «здоровое» показание, ради недопущения которого эта проверка и существует.

Не считайте, что ваш провайдер блокирует его из-за его репутации. По измерениям на сервере Contabo в августе 2026 года порт 25 был открыт — давнее утверждение, что они его блокируют, для той машины не подтвердилось. Читайте карточку.

Если он заблокирован

Есть два способа обойти это:

  1. Попросите провайдера разблокировать порт 25 — некоторые разблокируют, после того как ваш аккаунт «повзрослеет» или вы откроете тикет с объяснением, что вы держите почтовый сервер. Лучший вариант, если они разрешают, и в паре с собственным rDNS/PTR (см. Заметки о провайдерах). Но многие провайдеры не снимут блокировку быстро.
  2. Используйте SMTP-релей — почта уходит через авторитетного провайдера на порту 587 (который не заблокирован), с IP-адресов с хорошей репутацией. Это рекомендуемый, самообслуживаемый путь — он работает уже сегодня, без ожидания вашего провайдера, и обычно доставляет лучше, чем отправка напрямую с дешёвого IP-адреса VPS.

Настройте релей (рекомендуется)

1. Выберите провайдера релея и создайте аккаунт:

Провайдер Бесплатный тариф Заметки
Brevo 300 писем/день, без карты Проще всего начать
SendGrid 100/день Простой SMTP
Amazon SES оплата по мере использования (самый дешёвый при масштабе) Нужны верификация домена + выход из песочницы

Заметка об объёмах: транзакционные релеи предназначены для вашей почты. Если вы будете релеить большие объёмы почты многих клиентов, используйте провайдера, который это разрешает (например, правильно настроенный SES), или добейтесь разблокировки порта 25.

2. Получите учётные данные SMTP в дашборде провайдера — вкладка SMTP (не вкладка «API keys»):

  • SMTP-сервер (например, smtp-relay.brevo.com)
  • Порт 587
  • Login (это конкретный SMTP-логин, который показывает провайдер — часто не email вашего аккаунта)
  • SMTP-ключ / пароль

Если у вашего провайдера есть настройка безопасности «authorized IPs», добавьте туда IP вашего сервера, иначе SMTP-аутентификация будет отклонена.

3. Введите их в панели. У той же карточки Outgoing mail есть форма. Выберите своего провайдера из выпадающего списка Relay provider — Brevo, SendGrid, Mailgun, Amazon SES, Gmail / Google Workspace или Another server I own — и хост, порт и значение SPF заполнятся, вместе с заметкой о том, что этот провайдер ожидает в качестве имени пользователя. (У SendGrid это буквально слово apikey; Gmail нужен App Password, а не пароль аккаунта.)

Затем нажмите Test & save relay. Он аутентифицируется на релее перед тем как что-либо сохранить. Если релей отклоняет учётные данные, вам об этом сообщают, и ничего не меняется — вы не можете оказаться с сохранённым релеем, который никогда не работал.

Две вещи о пароле: он передаётся прямо почтовому серверу и никогда не хранится в базе данных панели, так что его нельзя прочитать обратно, и вы должны вводить его заново при каждом изменении. Turn relay off снова его удаляет.

Ни root, ни текстовый редактор для всего этого не нужны.

Сделайте так, чтобы почта попадала во «Входящие» (а не в спам)

Вывести почту наружу — это шаг один; попадание её во «Входящие» требует аутентификации, которую получатель (Gmail, Outlook) может проверить:

  • SPF — почта, отправленная через релей, уходит с IP-адресов релея, так что релей должен быть назван в вашей записи SPF. Сохранение релея переписывает запись SPF каждого размещённого домена за вас — для этого и нужно поле SPF include в форме, и оно предзаполнено из выбранного вами провайдера. Это шаг, который чаще всего упускают, когда релей настраивают вручную, и именно он решает, доверяют ли релеенной почте.
  • DKIM — Nimbopanel подписывает ваши домены собственным ключом DKIM автоматически и публикует запись. Если ваш релей также просит верифицировать домен в его дашборде, добавьте записи DKIM, которые он даёт, рядом.
  • DMARC — Nimbopanel публикует безопасную запись DMARC p=none для каждого домена; вы можете ужесточить её позже.

Когда SPF, DKIM и DMARC все проходят, почте ваших клиентов доверяют, и она попадает во «Входящие». Сообщение, прошедшее весь путь, показывает status=sent в почтовом журнале, а заголовки реального получателя читаются как dkim=pass spf=pass dmarc=pass.

Связанное: Направьте свой домен (DNS) · Заметки о провайдерах · Устранение неполадок.