Справочник по DNS и почтовой инфраструктуре Mailcow
Mailcow
4
Сообщения
1
Posters
1
Просмотры
-
Справочник по DNS и почтовой инфраструктуре Mailcow
(50 справочных пунктов)
Основные DNS-записи
- Почтовый сервер должен иметь A-запись, указывающую на его IP-адрес.
- Пример:
postmail.domain.tld → A → IP_адрес. - PTR-запись (обратная DNS) обязательна для IP почтового сервера.
- PTR устанавливается у провайдера IP, а не в обычной DNS-зоне домена.
- PTR должен указывать на тот же hostname, что используется в SMTP (например
postmail.domain.tld). - Отсутствие PTR приводит к тому, что 90% писем попадают в спам или отклоняются.
- Проверить PTR можно командой
dig -x IP. - Хостнейм почтового сервера должен иметь прямую A-запись и обратную PTR-запись.
MX-записи
- Почтовый домен обязан иметь MX-запись.
- MX-запись указывает сервер, принимающий почту для домена.
- MX-запись должна иметь числовой приоритет (preference).
- Даже если сервер один — приоритет обязателен.
- Типичный приоритет: 10.
- Пример правильной записи:
domain.tld MX 10 postmail.domain.tld. - Без приоритета многие серверы (Gmail, Яндекс и др.) снижают доверие или отклоняют письма.
- Чем меньше число, тем выше приоритет сервера.
- Если сервер один — значение приоритета практически не имеет значения.
- MX-запись ставится на почтовые домены, а не на hostname сервера.
- Для hostname (
postmail.domain.tld) MX обычно не нужен.
SPF
- SPF определяет какие серверы могут отправлять почту от имени домена.
- SPF записывается как TXT-запись.
- Пример записи:
"v=spf1 a:postmail.domain.tld -all" v=spf1— версия SPF.a:postmail.domain.tld— разрешает отправку с IP, указанного в A-записи.-all— запрещает отправку с любых других серверов.- Неправильный или отсутствующий SPF приводит к попаданию писем в спам.
- SPF проверяется на стороне принимающего почтового сервера.
- SPF обычно ставится только на почтовый домен, а не на технический hostname.
DKIM
- DKIM — это криптографическая подпись письма.
- DKIM хранится в DNS как TXT-запись с публичным ключом.
- Пример имени записи:
dkim._domainkey.domain.tld. - Mailcow автоматически подписывает письма приватным ключом.
- Получающий сервер сверяет подпись с публичным ключом из DNS.
- Стандартная длина ключа DKIM — 2048 бит.
- Ключи 1024 бит считаются устаревшими и небезопасными.
- DKIM создаётся только для доменов, от имени которых отправляется почта.
- Для технических поддоменов DKIM обычно не нужен.
DMARC
- DMARC определяет что делать, если SPF или DKIM не прошли проверку.
- DMARC публикуется как TXT-запись:
_dmarc.domain.tld.- Минимальная запись DMARC:
v=DMARC1; p=reject- Политика
p=может иметь значения:
none— только отчётыquarantine— помещать в спамreject— отклонять письмо
- Рекомендуется указывать адрес для отчётов:
rua=mailto:dmarc@domain.tld- DMARC-отчёты приходят в виде XML-файлов.
- Обычно создаётся отдельный почтовый ящик для этих отчётов.
- Современные почтовые системы (2025+) сильно снижают доверие доменам без DMARC.
Autodiscover и Autoconfig
- Для автоматической настройки почтовых клиентов используются записи:
autodiscoverautoconfig
- Обычно они создаются как CNAME на основной почтовый сервер.
autodiscoverиспользуется в основном Outlook и Exchange-клиентами.autoconfigиспользуется Thunderbird и мобильными клиентами.
SRV-записи
- Для некоторых клиентов используется SRV-запись:
_autodiscover._tcp.domain.tld SRV 0 1 443 mail.domain.tldгде:
- первый параметр — приоритет
- второй — вес
- третий — порт
- четвёртый — сервер.
-
Справочник по DNS и архитектуре Mailcow
Пункты 51–100
A и AAAA записи
- Запись A указывает IPv4-адрес хоста.
- Пример:
postmail.domain.tld A 91.221.70.18. - A-запись отвечает на вопрос: на какой IP указывает hostname.
- Почтовые серверы используют A-запись, чтобы найти IP сервера из MX.
- Без A-записи сервер невозможно найти через DNS.
- Почтовые серверы сначала читают MX, затем ищут A/AAAA этого имени.
- SPF-механизм
aилиa:hostnameтакже использует A-записи. - Веб-интерфейс Mailcow (SOGo, админка, API) тоже обращается к A-записи.
- AAAA-запись — это аналог A-записи для IPv6.
- Пример AAAA-записи:
postmail.domain.tld AAAA 2a01:4f8:123:4567::1. - IPv6-адрес имеет длину 128 бит.
- IPv4-адрес имеет длину 32 бита.
- Если сервер не имеет IPv6 — AAAA-запись можно не создавать.
- Неправильная AAAA-запись может ломать подключение к почтовому серверу.
- Если AAAA существует, почтовые серверы могут предпочесть IPv6.
Разделение доменов (hostname и почтовый домен)
- В почтовой инфраструктуре рекомендуется разделять hostname сервера и почтовый домен.
- Пример:
postmail.domain.tld— сервер
books.domain.tld— почтовый домен. - Такое разделение считается best practice для Mailcow, iRedMail, Poste.io и других систем.
- Хостнейм сервера используется для инфраструктуры.
- Почтовый домен используется для адресов пользователей.
Проблемы при объединении доменов
- Если почтовый домен и сервер совпадают — MX указывает на тот же домен.
- MX, указывающий сам на себя, может вызывать подозрение у антиспам-систем.
- Некоторые почтовые системы считают это признаком спам-инфраструктуры.
- Это может снижать репутацию почтового домена.
- В результате письма чаще попадают в папку спам.
Проблемы с SPF при объединённом домене
- Если домен один, SPF часто выглядит как
v=spf1 a -all. - Такая схема менее гибкая при изменении IP сервера.
- При смене IP придётся обновлять SPF на всех доменах.
- Разделённая архитектура облегчает изменение инфраструктуры.
- Отдельный hostname делает SPF-политику более прозрачной.
Масштабирование инфраструктуры
- При разделении доменов можно перенести почтовый сервер на другой IP без изменения основного домена.
- Достаточно изменить A-запись hostname сервера.
- Основной домен при этом продолжает работать без изменений.
- Это упрощает миграцию почтовых серверов.
- Также упрощается разделение веб-сервисов и почты.
Безопасность
- Разделение доменов повышает уровень безопасности инфраструктуры.
- В случае компрометации почтового сервера основной домен меньше затрагивается.
- Это снижает риск получения контроля над основным веб-доменом.
- Также упрощается управление сертификатами и доступами.
Сертификаты и TLS
- Почтовый сервер обычно имеет TLS-сертификат для hostname сервера.
- Чаще всего используется сертификат Let’s Encrypt.
- Сертификат должен совпадать с hostname SMTP-сервера.
- Несовпадение hostname и сертификата вызывает ошибки TLS.
- Клиенты могут предупреждать о недоверенном соединении.
Общие принципы почтовой инфраструктуры
- Почтовая инфраструктура должна иметь понятную DNS-структуру.
- Основные записи: A, MX, SPF, DKIM, DMARC, PTR.
- Все записи должны быть согласованы между собой.
- Несогласованные записи часто приводят к спаму или отказу доставки.
- Почтовые серверы активно проверяют репутацию домена и DNS-настройки.
- Корректная DNS-конфигурация — основа доставляемости почты.
-
Справочник по DNS и почтовой инфраструктуре Mailcow (Пункты 101–200)
PTR, IP и Провайдеры
- PTR-запись (rDNS) отвечает на вопрос: «Какой хостнейм соответствует этому IP-адресу?»
- Наличие правильного PTR — один из самых сильных сигналов для почтовых систем (Gmail, Яндекс, Mail.ru), что IP не принадлежит спамеру.
- Спамеры почти никогда не настраивают PTR, так как используют временные или арендованные IP.
- Правильный PTR дает до 20-30 "очков доверия" в антиспам-системах крупных провайдеров.
- Для идеальной работы необходима связка FCrDNS: IP → PTR → A-запись → тот же IP.
- Проверить PTR можно командой:
dig -x <IP-адрес>. - У одного IP-адреса может быть только одна PTR-запись.
- PTR всегда привязан к IP, а не к домену, поэтому для сервера с одним IP, обслуживающим множество доменов, PTR будет один — на технический хостнейм.
- Большинство легитимных провайдеров VPS и dedicated-серверов (Dedic-center, FirstVDS, Hetzner, Selectel) позволяют устанавливать собственный PTR через панель управления или тикет.
- Провайдеры домашнего интернета (Ростелеком, Билайн, МТС) даже при предоставлении статического IP, как правило, не дают возможность настроить кастомный PTR.
- Домашние провайдеры также часто блокируют входящие соединения на 25-й (SMTP) порт, что делает невозможным прием почты извне.
- Поднять сайт на домашнем IP можно, но полноценный почтовый сервер для общего пользования — крайне сложно из-за блокировок портов и отсутствия PTR.
- Для закрытой группы, где все общаются только внутри одного сервера, PTR и открытый 25-й порт не нужны.
- Запрос к провайдеру на PTR должен содержать IP-адрес и желаемое значение (например,
postmail.nbics.net).
Безопасность, Репутация и "Мусорные" Домены
- Использование отдельного "мусорного" домена (например,
trash.nbics.net) для регистраций на сторонних сайтах защищает репутацию основного "человеческого" домена (books.nbics.net). - "Мусорный" домен со временем "сгорает" (попадает в спам-листы) из-за автоматических рассылок и жалоб пользователей.
- "Сгорание" мусорного домена — это нормальный процесс, который происходит у всех, включая Google, Amazon и Microsoft.
- Срок жизни мусорного домена может составлять от 1-2 лет (для крупных сервисов) до 5-10 лет (для личного использования).
- Признаки "сгорания" домена: письма с него все чаще попадают в спам, оценка на mail-tester.com ниже 8.5, появление в черных списках (RBL).
- Если мусорный домен "сгорел", его не удаляют, а просто перестают использовать для новых регистраций, оставляя для приема старых писем.
- Для защиты IP от блокировки из-за мусорного домена, всю исходящую почту с него можно отправлять через внешний релей (relayhost), например, Яндекс или Amazon SES.
- В Mailcow для этого в настройках домена включается опция «Relay this domain» и указывается внешний SMTP-сервер.
- Даже если отправка с мусорного домена идет через релей, для него все равно нужно настроить MX, SPF, DKIM и DMARC, чтобы он мог принимать входящие письма.
TLSA (DANE)
- TLSA-запись (DANE) — это цифровой отпечаток TLS-сертификата сервера, публикуемый в DNS.
- Она позволяет другим почтовым серверам убедиться, что они подключаются к подлинному сертификату, а не к поддельному.
- Формат записи:
_25._tcp.postmail.nbics.net. TLSA 3 1 1 <хэш сертификата>. - В 2025 году поддержка DANE все еще ограничена (в основном Европа) и не используется такими гигантами как Gmail, Яндекс или Microsoft.
- Главный недостаток TLSA: при смене сертификата (например, каждые 90 дней у Let's Encrypt) запись нужно обновлять, иначе сервер станет недоступен для клиентов, поддерживающих DANE.
- Mailcow может автоматически обновлять TLSA-записи при смене сертификата, если включить соответствующую опцию.
- Для упрощения обслуживания большинству администраторов рекомендуется удалить TLSA-записи.
Настройки Домена и Ящиков в Mailcow
- При добавлении домена в Mailcow поле «Максимум псевдонимов» рекомендуется ставить
0(без ограничения). - «Максимум почтовых ящиков» рекомендуется ставить с запасом, например,
50. - «Квота почтового аккаунта по умолчанию» — разумный стартовый объем для нового ящика, например,
5 ГБили10 ГБ. - «Максимальная квота почтового аккаунта» —
0означает безлимит, иначе можно поставить число, например,50 ГБ. - «Квота домена» — общий лимит на все ящики домена.
0означает безлимит. - GAL (Global Address List) — это глобальная адресная книга.
- Включение GAL в настройках домена добавляет всех пользователей домена в общую адресную книгу в SOGo.
- Без GAL автодополнение адресов в веб-почте и информация о занятости в календарях могут не работать.
- Псевдонимы домена (Domain Aliases) позволяют получать почту для нескольких доменов в одни и те же ящики основного домена.
- Например, добавив
nbics.netкак псевдоним дляbooks.nbics.net, письма наivan@nbics.netбудут попадать в ящикivan@books.nbics.net. - Для псевдонимов домена не нужно создавать отдельные DNS-записи MX, SPF и DKIM — используются записи основного домена.
Интеграция и Аутентификация
- Mailcow из коробки не поддерживает самостоятельную регистрацию пользователей.
- Саморегистрацию можно реализовать через API Mailcow, создав внешнюю форму.
- OpenLDAP — это каталог пользователей, который можно интегрировать с Mailcow для синхронизации аккаунтов.
- Интеграция с OpenLDAP позволяет использовать существующих пользователей из LDAP-каталога в качестве почтовых ящиков.
- Самостоятельная регистрация в OpenLDAP из коробки отсутствует, для нее потребуется дополнительный инструмент (например, LAM).
- Keycloak — это современная система управления идентификацией (Identity Provider) с поддержкой SSO.
- Keycloak имеет встроенную, красиво оформленную форму самостоятельной регистрации.
- При интеграции Mailcow с Keycloak пользователь может зарегистрироваться в Keycloak, и его почтовый ящик в Mailcow создастся автоматически (при включенном импорте).
- Keycloak поддерживает вход через социальные сети (Google, GitHub), двухфакторную аутентификацию (2FA) и другие современные протоколы.
- Для Keycloak необязателен отдельный домен, но его настоятельно рекомендуется размещать на отдельном поддомене, например
auth.nbics.netилиid.nbics.net. - Размещение Keycloak на отдельном поддомене упрощает управление сертификатами и делает архитектуру чище.
Почтовые Клиенты (Thunderbird)
- Thunderbird — один из лучших десктопных клиентов для работы с Mailcow.
- При правильной настройке DNS (autoconfig) Thunderbird настроит аккаунт автоматически за 5-10 секунд.
- Входящая почта (IMAP) в Thunderbird для Mailcow обычно использует порт 993 с шифрованием SSL/TLS.
- Исходящая почта (SMTP) в Thunderbird для Mailcow обычно использует порт 587 с шифрованием STARTTLS.
- Альтернативный порт для SMTP — 465 с шифрованием SSL/TLS.
- В поле Имя пользователя (Username) в Thunderbird всегда нужно указывать полный адрес электронной почты (например,
ivan@books.nbics.net), а не только его локальную часть. - Кнопка «Done» (Готово) в Thunderbird становится активной только после успешной проверки настроек кнопкой «Re-test».
- Если кнопка «Done» не активна, нужно убедиться, что в методе аутентификации выбрано «Normal password», а не «Autodetect» или «OAuth2».
Скорость Доставки и "Холодный" IP
- Новый почтовый сервер с "холодным" IP-адресом может сталкиваться с задержками доставки (throttling) со стороны Gmail и Mail.ru.
- Throttling — это механизм ограничения трафика от новых или неизвестных серверов для борьбы со спамом.
- Задержки могут достигать от 10 минут до часа как для входящих, так и для исходящих писем.
- "Прогрев" IP (IP warming) — постепенное увеличение объема отправляемой почты в течение нескольких недель, помогает повысить репутацию.
- Рекомендуемый график прогрева: 20 писем/день первую неделю, 50 — вторую и т.д.
Общие Принципы и Сравнения
- YunoHost позволяет использовать один домен и для хостнейма, и для почты, скрытно создавая поддомен
mail.domain.tld. - Mailcow требует явного разделения на технический хостнейм и почтовый домен, что считается более правильным и гибким подходом.
- Имена
postmail,mail,mxявляются общепринятыми для обозначения почтовых серверов. - Использование говорящих имен (например,
postmailвместоserver-1) повышает понятность инфраструктуры. - Связка SPF + DKIM + DMARC дает практически 100% гарантию, что письма не будут помечены как спам из-за проблем с аутентификацией.
Практические Команды и Проверки
- Для проверки всех DNS-записей домена можно использовать команду:
dig <домен> ANY. - Для просмотра почтовых логов в Mailcow:
docker logs postfix-mailcow. - Проверить репутацию IP можно на сайтах вродe
mxtoolbox.comилиspamhaus.org. - Отправить тестовое письмо и получить детальный отчет о его "спамости" можно на
mail-tester.com. - Зарегистрировать свой домен в Google Postmaster Tools нужно для мониторинга репутации у Gmail.
- Для просмотра заголовков письма в Gmail нужно открыть письмо и нажать на три точки → «Показать оригинал».
- В заголовках письма ищите строки
spf=pass,dkim=pass,dmarc=passдля проверки успешности аутентификации. - Команда для просмотра MX-записи:
dig MX <домен> +short. - Команда для просмотра SPF-записи:
dig TXT <домен> +short. - Команда для просмотра DMARC-записи:
dig TXT _dmarc.<домен> +short.
Формулировки для Обращений
- Запрос на PTR провайдеру должен содержать текущее значение (если есть) и желаемое.
- В запросе на PTR нужно указать, что IP используется для почтового сервера.
- Пример: "Прошу установить PTR-запись для IP X.X.X.X на значение mail.yourdomain.com."
- Запрос на открытие портов должен содержать список необходимых портов (25, 465, 587).
- Пример: "Прошу убедиться, что для IP X.X.X.X открыты исходящие порты TCP 25, 465, 587."
Разное Важное
- DMARC-отчеты (rua) приходят в XML-формате. Их можно анализировать с помощью парсеров.
- DMARC-отчеты о провалах (ruf) приходят в виде почти полных писем, удобны для отладки.
- Для приема DMARC-отчетов нужно создать отдельный почтовый ящик, например,
dmarc@books.nbics.net. - Для создания DKIM-ключа в Mailcow используется длина 2048 бит — это стандарт безопасности 2025 года.
- Селектор DKIM (часть имени записи) по умолчанию в Mailcow обычно
dkimилиmailcow. Менять его не рекомендуется. - Для автоматической настройки клиентов важны обе записи:
autoconfig(для Thunderbird, iOS, Android) иautodiscover(для Outlook). - SRV-запись для autodiscover должна иметь правильный формат:
0 1 443 postmail.nbics.net. - Если приоритет в SRV не указан, запись будет нерабочей.
- Релей (relayhost) для мусорного домена — лучший способ сохранить чистоту IP основного сервера.
- Даже при использовании релея, ваш сервер должен принимать входящую почту напрямую, поэтому MX-запись обязательна.
- Политика
-allв SPF является самой строгой и правильной, если вы уверены, что больше никто не отправляет почту от вашего имени. - Политика DMARC
p=reject— конечная цель для защищенного домена, но начинать лучше сp=quarantine. - Нельзя ставить DKIM-запись для технического поддомена (
postmail.domain.tld), если вы не отправляете с него почту. - Путаница с портами (например, указание 993 для SMTP) — самая частая причина ошибок при ручной настройке клиентов.
- Корректная настройка DNS — это фундамент, на котором строится вся работа почтового сервера и его репутация в мире.
-
Справочник по DNS и почтовой инфраструктуре Mailcow (Пункты 201–300)
Глубокое погружение в PTR и обратную зону
- Запись
in-addr.arpa— это специальная доменная зона, используемая для обратного DNS-запроса (PTR). - Полное имя для PTR-записи IP
91.221.70.18выглядит так:18.70.221.91.in-addr.arpa. - Тот факт, что в статусе PTR указан провайдер (
dedic-center.ru), означает, что зона контролируется им, и запись нужно менять через него. - FCrDNS (Forward-confirmed reverse DNS) — это ситуация, когда прямое (A) и обратное (PTR) сопоставления совпадают и указывают друг на друга.
- FCrDNS является золотым стандартом для почтовых серверов и сильно повышает доверие.
- Если PTR указывает на что-то вроде
dedic-center.ru, а A-запись — наpostmail.nbics.net, FCrDNS не работает, и письма идут в спам. - Проверить FCrDNS можно двумя командами:
dig -x <IP>иdig <hostname> A. - Отсутствие PTR не только ухудшает доставляемость, но и может стать причиной длительных таймаутов при соединении.
Детали работы MX-приоритетов
- Приоритет MX (preference) — это целое число от 0 до 65535.
- Стандарт RFC 5321 требует наличия приоритета в MX-записи.
- Если у домена два MX-сервера с приоритетами 10 и 20, все письма сначала идут на сервер с приоритетом 10.
- Переключение на резервный сервер (приоритет 20) происходит только после того, как основной (10) не ответил в течение определенного времени (обычно несколько минут).
- Наличие двух MX-записей с одинаковым приоритетом означает, что нагрузка будет распределяться между ними случайным образом.
- Запись
MX 0 postmail.nbics.netтехнически возможна, но 0 обычно зарезервирован для особых случаев и не рекомендуется для единственного сервера. - Указывать в MX имя, для которого нет A-записи (как в случае с
mail.books.nbics.net), — фатальная ошибка, почта теряется. - Gmail, Яндекс и Outlook могут по-разному обрабатывать отсутствие приоритета: от помещения в спам до полного отказа в доставке.
Расширенный синтаксис SPF
- Механизм
aв SPF (a:postmail.nbics.net) проверяет все A- и AAAA-записи указанного домена. - Механизм
mxв SPF проверяет все IP-адреса серверов, перечисленных в MX-записях домена. v=spf1 mx -all— более короткий и элегантный способ записи для типовой конфигурации.- Механизм
ip4позволяет явно перечислить разрешенные IPv4-адреса:ip4:91.221.70.18. - Квалификатор
-allозначает "жесткий провал" (hard fail) — письмо должно быть отклонено. - Квалификатор
~allозначает "мягкий провал" (soft fail) — письмо принято, но помечено как подозрительное. - Квалификатор
?allозначает "нейтрально" — ничего не говорит о подлинности письма. - В 2025 году для максимальной защиты рекомендуется использовать
-all. - Если в будущем вы будете отправлять письма через сервис вроде Mailchimp, его нужно будет добавить в SPF через
include:_spf.mailchimp.com.
Нюансы DKIM
- Селектор (
s=emailв твоей записи) позволяет иметь несколько DKIM-ключей для одного домена (например, для разных почтовых серверов или ротации ключей). - Тег
t=sозначает, что данный ключ нельзя использовать для подписывания писем от поддоменов. - DKIM-подпись гарантирует не только то, что письмо от вас, но и что оно не было изменено в пути.
- Публичный ключ (
p=...) — это длинная строка в base64, которую нельзя обрезать или изменять. - Mailcow автоматически создает пару ключей (приватный и публичный) для каждого нового домена.
- Приватный ключ хранится в конфигурации Mailcow и никогда не должен быть опубликован.
- Проверить валидность DKIM-записи можно с помощью онлайн-инструментов, введя селектор и домен.
- Срок действия DKIM-ключа не ограничен, но рекомендуется менять его раз в год или два для усиления безопасности.
DMARC: Политики и Отчеты
- Тег
pct=100означает, что политика применяется к 100% писем. Можно начать с меньшего процента, чтобы протестировать. - Тег
rua=mailto:указывает адрес для получения агрегированных отчетов (XML). - Тег
ruf=mailto:указывает адрес для получения форензик-отчетов (данные о каждом провалившемся письме). - Тег
fo=1означает, что форензик-отчет должен быть отправлен, если провалилась хотя бы одна из проверок (SPF или DKIM). - Тег
aspf=sвключает строгий режим проверки SPF (домен в конверте должен точно совпадать с доменом в заголовке From). - Тег
adkim=sвключает строгий режим проверки DKIM. - Отчеты DMARC отправляют не только Gmail, но и Яндекс, Mail.ru, Outlook и многие другие, если домен отправляет им много писем.
- DMARC-отчеты нужны не для мгновенного чтения, а для долгосрочного мониторинга и выявления проблем.
- Если ящик для отчетов (
rua) переполнится или станет недоступен, отправители (Gmail и др.) просто перестанут слать отчеты, на доставку писем это не повлияет. - Политика
p=reject— самая строгая и говорит принимающему серверу: "Отклони письмо навсегда, не пытайся отправить в спам". - Политика
p=quarantineговорит: "Отправь в спам". - Политика
p=noneговорит: "Ничего не делай, но пришли отчет".
Autodiscover/Autoconfig: Как это работает изнутри
- Outlook, пытаясь найти autodiscover, обращается по URL:
https://autodiscover.books.nbics.net/Autodiscover/Autodiscover.xml. - Thunderbird обращается по URL:
https://autoconfig.books.nbics.net/mail/config-v1.1.xml. - Если CNAME-записи нет, клиент может пробовать "умные" догадки, например, обращаться к
https://books.nbics.net/.well-known/autoconfig/mail/config-v1.1.xml. - Наличие правильно настроенных autodiscover/autoconfig записей избавляет пользователей от необходимости знать разницу между IMAP и SMTP.
- SRV-запись для autodiscover — это запасной механизм на случай, если прямое HTTPS-соединение не удалось.
Архитектурные Решения и Best Practices
- Разделение на "человеческий" (
books.nbics.net) и "мусорный" (trash.nbics.net) домены позволяет применять к ним разные политики безопасности. - Например, для "мусорного" домена можно выставить DMARC
p=quarantine, а для "человеческого" —p=reject. - Технический хостнейм (
postmail.nbics.net) не должен фигурировать в поле "From" отправляемых писем. - Адреса техподдержки и обращения к людям должны идти только с "человеческого" домена.
- При масштабировании (например, добавлении второго почтового сервера) вы просто создаете вторую MX-запись с более высоким приоритетом (например, 20).
- Стратегия "мусорного домена" копирует подход крупных корпораций, использующих отдельные домены для уведомлений (например,
amazonses.com).
Управление Почтовыми Ящиками и Лимитами
- Поле "Полное имя" (Display Name) для технических ящиков вроде
dmarc-reportsможет быть любым понятным, например, "DMARC Aggregated Reports". - Это поле не влияет на техническую функциональность и нужно только для идентификации ящика в веб-интерфейсе.
- В Mailcow лимиты отправки можно настроить как на уровне всего домена, так и на уровне отдельных ящиков.
- Если оставить лимиты отправки пустыми или равными 0, значит, они не ограничены.
- Параметр "Ретрансляция всех получателей" используется только в конфигурациях, где Mailcow выступает в роли промежуточного ретранслятора (relay).
- Для обычного почтового сервера, который доставляет почту в свои же ящики, все опции ретрансляции должны быть отключены.
Сравнение и Выбор Технологий (LDAP vs Keycloak)
- OpenLDAP — это "телефонная книга", а Keycloak — это "пропускная система с регистратурой".
- Keycloak умеет "федерировать" пользователей, то есть работать как единая точка входа для множества приложений (SSO).
- Keycloak поддерживает не только локальную регистрацию, но и вход через аккаунты Google, GitHub и другие.
- OpenLDAP хранит только атрибуты пользователя (имя, пароль, email), Keycloak управляет еще и сессиями, правами доступа и ролями.
- Для интеграции с Mailcow через OpenLDAP потребуется настраивать маппинг атрибутов (что соответствует чему в почтовой системе).
- Интеграция с Keycloak через OpenID Connect (OIDC) проще и современнее: пользователь просто перенаправляется на страницу входа Keycloak.
- Выбор между OpenLDAP и Keycloak зависит от задачи: если нужно просто хранить пользователей — OpenLDAP, если нужна саморегистрация и SSO — Keycloak.
Решение Проблем с Почтовыми Клиентами
- Если Thunderbird не может найти настройки автоматически, проблема часто в кэше DNS или в том, что autoconfig запись еще не распространилась.
- Ошибка "Done is inactive" почти всегда решается повторной проверкой (Re-test) после ручного ввода правильных портов и метода аутентификации.
- Указание неверного порта для SMTP (например, 993) — самая распространенная ошибка при ручной настройке.
- Если пароль не принимается, убедитесь, что в качестве имени пользователя используется полный email, а не его часть.
- Outlook может кэшировать неудачные попытки autodiscover, поэтому после исправления DNS может потребоваться время или перезагрузка.
Безопасность и "Прогрев" IP
- "Холодный" IP — это IP-адрес, который ранее не использовался для отправки почты или использовался для сомнительных целей.
- Даже идеально настроенный сервер с холодного IP будет получать задержки от крупных провайдеров.
- Процесс "прогрева" IP заключается в постепенном увеличении объема легитимной почты для накопления положительной репутации.
- Отправка слишком большого количества писем с нового IP в первый же день может привести к его мгновенной блокировке.
- Жалобы на спам (abuse reports) — самый быстрый способ убить репутацию и IP, и домена.
- Feedback Loop (FBL) — это механизм, при котором провайдер (например, Mail.ru) возвращает отправителю информацию о том, что получатель пометил письмо как спам.
Практические Команды (продолжение)
host -t PTR <IP-адрес>— альтернативная команда для проверки PTR.nslookup -type=mx <домен>— проверка MX-записей в Windows.systemctl status postfixв контейнере или на сервере позволяет увидеть, работает ли почтовая служба.docker exec -it <имя_контейнера> bash— команда для входа внутрь контейнера Mailcow для детальной диагностики.postqueue -p(внутри контейнера postfix) показывает очередь писем, которые не могут быть доставлены.tail -f /var/log/mail.log(путь может отличаться) — просмотр логов почты в реальном времени.swaks— мощная командная утилита для тестирования SMTP-серверов и отправки тестовых писем.
Различные Нюансы из Переписки
- Если провайдер не дает PTR для домашнего статического IP, это делает невозможным использование его для серьезного почтового сервера.
- Использование Cloudflare Tunnel или других решений не решит проблему с 25-м портом, так как это требование к IP, а не к домену.
- Даже если вы никому не отправляете почту, многие сервисы (банки, соцсети) все равно будут пытаться доставить вам письма, и им нужен ваш работающий MX.
- Закрытая корпоративная почта внутри компании на своем сервере может прекрасно работать и без PTR, если вся переписка идет внутри.
- Технические ящики вроде
dmarc-reportsлучше создавать с включенным сборщиком мусора или периодически чистить, чтобы они не переполняли диск. - "Закрашивание" ключей звездочками в посте — обычная практика безопасности при публикации скриншотов.
- Приоритеты в SRV-записи (0 1 443) означают: приоритет 0 (самый высокий), вес 1 (для распределения нагрузки), порт 443.
- TLSA-запись для порта 25 нужна, только если вы хотите, чтобы другие серверы проверяли ваш TLS-сертификат через DANE.
- Mailcow не позволит вам создать почтовый домен, который совпадает с хостнеймом, если это не было сделано специальным образом.
- YunoHost скрывает сложность от пользователя, но под капотом использует те же самые принципы разделения.
- Понимание разницы между
postmail.nbics.net(сервер) иmail.nbics.net(веб-интерфейс) помогает в диагностике проблем. - Если кнопка "Done" в Thunderbird не активна, проверьте, не осталось ли предупреждение (желтый треугольник) после нажатия Re-test.
- Идеальная настройка DNS для почты — это когда ни один из онлайн-чекеров (mxtoolbox, mail-tester) не показывает ошибок, а только зеленые галочки.
- Запись