DNS записи для почтового сервера — записи, которые задействуются для того чтобы письма принимались на доменную почту и с доменной почты отправлялись не попадая при этом в спам.
Почтовый сервер, как правило, имеет выделенный IP адрес из публичного диапазона.
Сервер, обслуживающий домен может быть как собственным, так и принадлежать любой компании предоставляющей услугу доменной почты.
DNS записи типа MX
Отправка писем с сервера, в том числе из почтового ящика, может работать без DNS записей.
Чтобы появилась возможность принимать письма необходимо добавить в DNS записи типа MX. Записи MX основные и единственные обязательные для работоспособности почты.
Минимум должна быть одна MX запись, часто их больше.
Если записей несколько им назначаются метрики, метрика это одна из характеристик MX записей наряду с именем и значением. Чем меньше метрика, тем выше приоритет записи.
Если для домена созданы две записи, одна с метрикой 5, другая с метрикой 10 — использоваться будет первая до того момента пока сервер, на который указывает запись будет справляется с обработкой запросов. В случае если с ним что-то случится будет происходить отправка по второй записи.
DNS записи в Linux можно проверять с помощью утилит dig и host. В Windows есть утилита nslookup.
Также есть большое количество онлайн сервисов, которые позволяют проверять DNS.
Чтобы утилитой dig посмотреть MX записи нужно выполнить команду dig mx +short ДОМЕН
Пример для домена с одной MX записью:
Записей с разными метриками бывает 2 и больше.
Пример для домена с двумя MX записями и разными значениями метрики для них:
У каждой из MX записей есть:
- имя — домен или поддомен, в примерах только домены второго уровня
- метрика — численное значение определяющее приоритет
- значение — адрес, определяющий ответственный за работу почты для имени сервис
MX запись всегда ссылается на какой-то домен, в первом из представленных выше примеров это mx.yandex.ru.
Для имени домена, на который ссылается MX, задается А запись DNS (как для сайта) и в качестве значения А записи указывается ip адрес сервера. Этот сервер и будет отвечать за получение почты.
Остальные почтовые DNS записи нужны только для безопасности и предотвращения попадания писем в спам у получателей.
Другие типы DNS записей для почтового сервера
PTR
Чтобы снизить вероятность попадания исходящих сообщений в спам также добавляется PTR запись.
Это актуально только для выделенных почтовых серверов. Для общедоступных сервисов нет выделенных ip адресов, поэтому и PTR добавить нельзя.
Запись добавляется через провайдера — владельца ip адреса. PTR записью для ip адреса устанавливается доменное имя.
TXT
Записи типа TXT представляют собой текст. Этот текст добавляется для определнного имени, например _dmarc.example.com, затем текстовое значение может проверяться почтовыми серверами получателей. За счет этого происходит проверка отправителя и исключается возможность отправки писем с подложного домена.
DNS записи для почтового сервера задаваемые за счет TXT
- подписи DKIM
- записи для установленной политики DMARC
- SPF записи
SPF
SPF запись — определяет с каких серверов может приходить почта для домена. Значение может задаваться по ip адресу (ipv4:123.123.123.123).
Может быть указано что отправлять письма можно с серверов, на которые направлены A и MX записи (в записи будет a mx ~all где ~all определяет политику для остальных отправляемых писем как проверять дополнительно, сразу не отвергать). Также в SPF может использовать ся значение redirect, оно говорит о том, что будет применено значение SPF для домена, который указан с опцией redirect
Пример spf записи приведен на скриншоте:
Подробно SPF запись DNS разобрана в этом материале.
DKIM
DKIM — цифровая подпись позволяющая определить отправлено ли письмо с того сервера, который обслуживает домен.
Подпись работает за счет приватного и публичного ключа. Приватный размещается на почтовом сервере отправителя, публичный добавляется в DNS в виде TXT записи.
Сервер получателя писем получает отпечаток приватного ключа, который сопоставляет с записью в DNS — с публичным ключом. Если они подходят друг к другу — проверка DKIM пройдена, если нет — письмо может быть отвергнуто, отправлено в спам или принято, в зависимости от политики DMARC.
В статье по ссылке разобрана настройка пакета opendkim, который позволяет реализовать добавление DKIM.
DMARC
DMARC — политика в отношении принимаемых писем. Она определяет как поступать с письмами, которые не прошли проверку SPF и DKIM. Они могут пропускаться, отвергаться или отправляться в спам.
Ключом -p задается политика: none, reject, quarantine.
Также DMARC позволяет настроить отправку отчетов о письмах для сбора статистики.
Пример DMARC приведен на скриншоте:
Здесь видно, что указаны email адреса, на них отправляются отчёты по письмам, компания, владеющая сервисом может корректировать свои политики антиспама на основе этих отчетов.