Mailcow — DNS-записи для почтового домена
Полный набор DNS-записей, которые нужно создать перед запуском mailcow: обязательные, записи аутентификации отправителя и необязательные. Без корректных DNS почта будет уходить в спам или не доставляться вовсе. Установка и общие настройки — Mailcow — общая информация и настройка DNS.
Дальше в примерах: example.com — почтовый домен, mail.example.com — FQDN сервера mailcow, 198.51.100.10 — его адрес.
Обязательные записи
| Тип | Имя | Значение | Зачем |
|---|---|---|---|
| A | mail |
198.51.100.10 |
адрес самого сервера mailcow; заводится только для его FQDN |
| AAAA | mail |
2001:db8::10 |
то же для IPv6 — обязательна, если сервер доступен по IPv6 |
| MX | @ |
10 mail.example.com. |
куда доставлять почту домена |
| PTR | адрес сервера | mail.example.com |
обратная запись; задаётся у провайдера или в панели дата-центра |
mail IN A 198.51.100.10
mail IN AAAA 2001:db8::10
@ IN MX 10 mail.example.com.
PTR — не формальность. Большинство крупных почтовых систем отвергают письма с адресов без обратной записи или если PTR не совпадает с именем, которым сервер представляется в HELO. PTR правится только владельцем IP-адреса: в личном кабинете дата-центра или через поддержку провайдера. Если сервер доступен по IPv6, PTR нужна и для IPv6 — иначе часть писем будет уходить с адреса без обратной записи.
Аутентификация отправителя
Эти три записи технически необязательны, но без них почта считается неподтверждённой и попадает в спам.
SPF
Перечисляет, каким серверам разрешено отправлять почту от имени домена:
@ IN TXT "v=spf1 mx a -all"
mx a— разрешены хосты из MX-записи и A-записи домена;-all— всё остальное считать подделкой (жёсткий вариант, рекомендуется);~all— «мягкий» вариант: письмо помечается, но не отбрасывается. Удобен на время миграции, когда часть рассылок ещё уходит со старых серверов.
DKIM
Ключ генерируется в веб-интерфейсе mailcow (Configuration → Options → ARC/DKIM keys), после чего публичная часть публикуется в DNS:
dkim._domainkey IN TXT "v=DKIM1; k=rsa; t=s; s=email; p=<публичный_ключ>"
Селектор (dkim в примере) должен совпадать с указанным при генерации ключа. Значение длинное — многие панели DNS требуют разбивать его на части, mailcow показывает готовую строку для копирования.
DMARC
Задаёт политику для писем, не прошедших SPF и DKIM, и адрес для отчётов:
_dmarc IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"
p=none— только собирать отчёты, ничего не отвергать. С этого начинают;p=quarantine— помещать в спам;p=reject— отвергать. Включать после того, как отчёты покажут, что вся легитимная почта проходит проверки.
Необязательные записи
Автонастройка почтовых клиентов
Позволяют Outlook и Thunderbird подхватывать параметры сервера по адресу пользователя:
autodiscover IN CNAME mail.example.com.
autoconfig IN CNAME mail.example.com.
SRV-записи
Объявляют клиентам протоколы и порты. Полезны для календарей и адресных книг:
_imaps._tcp IN SRV 0 1 993 mail.example.com.
_submission._tcp IN SRV 0 1 587 mail.example.com.
_pop3s._tcp IN SRV 0 1 995 mail.example.com.
_caldavs._tcp IN SRV 0 1 443 mail.example.com.
_carddavs._tcp IN SRV 0 1 443 mail.example.com.
Если протокол сознательно не используется, его можно явно объявить недоступным — в качестве цели указывается точка:
_pop3s._tcp IN SRV 0 0 0 .
Проверка
После публикации записей и до запуска рассылок стоит проверить конфигурацию:
- MXToolbox — сводная проверка MX, SPF, DMARC, PTR и чёрных списков;
- mail-tester.com — отправляете письмо на выданный адрес и получаете оценку с разбором;
- verifier.port25.com — письмо на
check-auth@verifier.port25.com, в ответ приходит отчёт по SPF, DKIM и DMARC.
Локально проверить записи можно из консоли:
dig +short MX example.com
dig +short TXT example.com
dig +short TXT dkim._domainkey.example.com
dig +short TXT _dmarc.example.com
dig +short -x 198.51.100.10
DNS-записи кэшируются: понижайте TTL до 300 секунд заранее, за сутки до переезда почты, и возвращайте обратно после того, как всё заработает.