Отправляем почту: что такое SPF, DKIM и DMARC
Как и где добавлять эти записи
Эти записи добавляются или изменяются у вашего хостинг-провайдера — например, nic.ru, reg.ru, и так далее. Как зайти в раздел для редактирования этих записей у вашего провайдера — можно посмотреть здесь: https://help.mail.ru/biz/domain/verification_settings/nic/spf
Более подробно можно узнать в справке или поддержке вашего хостера.
Где найти записи, которые необходимо добавить
В личном кабинете в разделе «Настройки Email» — «Доставляемость Email». Для каждого добавленного вами домена будут расписаны 3 TXT записи, первая запись — SPF, вторая запись — DKIM и третья запись — DMARC.
Если запись SPF уже есть
Если у вас уже есть SPF запись (такое может быть, например, если вы используете почту для доменов на mail.ru), то вам нужно изменить существующую запись, а не добавлять новую — потому что по стандарту SPF запись может быть только одна.
Во-первых, если в записи есть параметр redirect, то его нужно заменить на include. Во-вторых, нужно добавить в запись следующее: «include:_spf.emailtransfer.net». Например:
Было: v=spf1 redirect=_spf.mail.ru
Должно стать: v=spf1 include:_spf.mail.ru include:_spf.emailtransfer.net
Добавляем DKIM запись
В зависимости от хостинга, на котором расположен ваш домен, добавляем новую TXT запись или создаем поддомен с именем имеющим вид, например:70._domainkey. и соответствующими значениями параметров k и p. Имя и значения параметров вы найдете на странице «Доставляемость Email».
Добавляем DMARC запись
Так же, как и для записи DKIM, создаем TXT запись DMARC с именем: _dmarc. и значениями: v=DMARC1; p= none
Если наша система говорит, что записи не в порядке
Это может быть по двум причинам. Первая — прошло слишком мало времени. Система DNS устроена так, что публикация изменений может занять до 48 часов. Если вы внесли записи недавно, попробуйте проверить еще раз через некоторое время.
Вторая причина — записи опубликованы неправильно. Вы можете проверить, как опубликовались записи, с помощью сервиса mxtoolbox.com . Для проверки SPF нужно ввести ваш домен, и выбрать из выпадающего списка SPF. Для проверки DKIM нужно ввести et._domainkey. и выбрать DKIM. Нужно сравнить значения, которые выдаёт mxtoolbox, с теми, что указаны у нас.
Если ничего не помогает — пишите\звоните, постараемся помочь.
В этой статье будет рассмотрена настройка цифровой подписи для Вашего домена.
Технология DomainKeys Identified Mail (DKIM) - это метод e-mail аутентификации: к отправленному письму добавляется заголовок DKIM-Signature , в котором содержится зашифрованная информация о домене отправителя. Таким образом, содержимое заголовка DKIM-Signature подтверждает отправителя письма. На стороне получателя подпись автоматически проверяется, после чего для определения репутации отправителя применяются "белые списки " и "черные списки ". После оценки репутации отправителя письма это письмо может быть принято, помещено в папку "Спам ", либо отправлено на дополнительную проверку.
Настройка DKIM при отправке рассылок через хостинг Beget
На хостинге Beget можно настроить DKIM-подпись для следующих способов отправки писем:
- через SMTP-сервер ;
- через функцию PHP mail() , он же sendmail
Для создания DKIM-подписи для писем, отправляемых средствами PHP mail() , потребуется выделенный IP-адрес - его стоимость составляет 660 руб./год, подключить можно из , в разделе . Далее для настройки DKIM-подписи необходимо написать тикет из раздела , указав в нём домен сайта.
Для создания DKIM-подписи для писем, отправляемых средствами SMTP , необходимо написать тикет из , раздел , указав в нём домен сайта. Настройка DKIM для SMTP возможна только на оплаченных аккаунтах (минимум на месяц по текущему тарифному плану). Настройка DKIM-подписи с нашей стороны возможна только в том случае, когда рассылки отправляются через наш хостинг и почта работает через нас, то есть, в качестве MX записи у домена, будут значения:
mx1.сайт mx2.сайтНастройка DKIM при отправке рассылок через сторонний сервис (на примере unisender.com)
Рассмотрим внесение нужных записей на примере сервиса unisender.com . Для других сервисов рассылки инструкция будет похожей.
Привет! Недавно я проводил вебинар на тему E-mail-маркетинга и уловил нотки непонимания, когда речь зашла о DKIM и SPF. Это не удивительно, поскольку многие владельцы бизнесов и даже интернет-маркетологи ещё не слышали об этом феномене 😃 Но время идет, правила «игры» меняются и нам жизненно необходимо им соответствовать.
Постараюсь максимально просто и доступно объяснять, что такое DKIM/SPF и как их внедрять для корректной работы с E-mail-рассылками.
DKIM и SPF - это записи в DNS настройках вашего домена, которые почтовые сервисы используют для аутентификации ваших рассылок. Иными словами, при отправке письма Подписчику сервисы вроде Gmail/Mail/Яндекс производят проверку этого самого письма на подлинность. Подлинность подтверждается, если сервисы обнаруживают в настройках вашего домена соответствующую запись, включающую в себя электронную подпись.
Простой пример в качестве сравнения. Вы ведет автомобиль, сотрудник ДПС останавливает вас и просит предъявить документы. Если у вас нет водительских прав, которые позволяют управлять автомобилем, то вы - нарушитель. И можно сколь угодно громко и долго кричать о том, что машина ваша и вы ее купили, но по факту управлять ей в данный момент вы права не имеете.
На самом деле, ничего сложного в добавлении txt-записей и цифровой подписи в настройки домена нет.
Прежде всего, нужно понять в каком месте вы можете добавить DNS-записи. Обычно, это сайт Регистратора домена или сайт Хостинга, где, при адекватной навигации, найти Настройки домена абсолютно не сложно.
У меня на хостинге все интуитивно понятно:
Домены → Управление доменами → Настройки → DNS → Новая DNS-запись
Подобный путь будет в большинстве сервисов. Если же найти настройки домена и сам пункт внесения DNS-записей не удалось, то обратитесь в тех.поддержку и вам все обязательно расскажут.
Настройка DKIM
DKIM — это DomainKeys Identified Mail
То есть, это и есть те самые ключи, которые нам нужны для аутентификации. Их можно создать самостоятельно, если рассылка производится через ваш сервер, либо (более частый и удобный вариант) взять в сервисе, которые используется для рассылок (например, Unisender или Mailchimp).
Вот такую запись нас просит создать Mailchimp, что мы и делаем, в моем случае, на хостинге
Unisender
просит добавить две записи несколько иного содержания.
Domainkey TXT o=~ us._domainkey TXT k=rsa; p=XXXXXXXXXXXXXXXXXXXXX
Где XXXXXXXXXXXXXXXXXXXXX — это ваш уникальный ключ, которые генерируется в личном кабинете сервиса.
SPF – Sender Policy Framework, то есть проверка отправителя.
Это необходимо, поскольку при использовании SMTP в качестве отправителя можно указать любой адрес. SPF-запись позволяет внести адреса серверов, с которых разрешается отправка писем от Вашего имени. Таким образом, сервисы вроде Яндекс и Mail смогут понять санкционирована ли рассылка и исходит ли она от владельца домена.
Настраивается SPF также легко, путем добавления записей в DNS-домена.
Пример записи от MailChimp:
Идем в настройки и добавляем соответствующую запись в домене:
SPF в Unisender
Сервис для рассылок Юнисендер просит добавить 2 txt-записи в настройки домена
@ TXT v=spf1 include:spf.unisender.com ~all @ TXT spf2.0/mfrom,pra include:senderid.unisender.com ~all
где;
@
— это имя хоста (то есть при указании символа запись будет внесена на основной домен, в моем случае сайт)
TXT
— это тип записи
Значение/Текст
— само содержание записи
Внимание!
Если у вы уже используется какой-то сервис для рассылок, то у вас, возможно, есть текстовая запись SPF с v=spf1
.
В таком случае, просто добавьте в конец этой записи (но перед выражением~all
или -all
) значение
Include:spf.unisender.com (для Unisender) или include:servers.mcsv.net (для Mailchimp)
Поздравляю! Настройка завершена, теперь ждем от 24 до 48 часов, чтобы DNS обновились и проверяем аутентификацию в сервисе.
У меня время еще не прошло, поэтому я вижу ошибку 😃
Проверил через несколько часов и вуаля:
Сейчас пойду и сделаю первую рассылку с этой статьей по своей немногочисленной (пока еще) базе. Надеюсь, было полезно 🙂
SPF-запись — проверка отправителя.
Как всем известно, протокол отправки электронной почты SMTP, подразумевает, что в качестве отправителя можно указать любой почтовый ящик. Таким образом можно послать письмо, подставив в поле «From» вымышленное значение. Процесс такого почтового обмана называется Спуфинг (e-mail spoofing). Чтобы бороться с этим явлением, был разработан и введен в действие стандарт SPF – Sender Policy Framework (структура политики отправителя).
SPF позволяет владельцу домена указать в TXT-записи домена специальным образом сформированную строку, указывающую список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене.
Рассмотрим простой пример SPF-записи:
example.org. IN TXT «v=spf1 +a +mx -all»
Теперь более детально о допустимых опциях. Рассмотрим варианты поведения получателя, в зависимости от используемых опций:
- «v=spf1» — используемая версия SPF.
- «+» — принимать корреспонденцию (Pass). Этот параметр установлен по умолчанию. Тоесть, если никаких параметров не установлено, то это «Pass»;
- «-» — Отклонить (Fail);
- «~» — «мягкое» отклонение (SoftFail). Письмо будет принято, но будет помечено как СПАМ;
- «?» — нейтральное отношение;
- «mx» — включает в себя все адреса серверов, указанные в MX-записях домена;
- «ip4» — опция позволяет указать конкретный IP-адрес или сеть адресов;
- «a» — указываем поведение в случае получения письма от конкретного домена;
- «include» — включает в себя хосты, разрешенные SPF-записью указанного домена;
- «all» — все остальные сервера, не перечисленные в SPF-записи.
Итак, попробуем разобраться, что же значит SPF-запись, указанная выше.
- «+a» — разрешает прием писем от узла, IP-адрес которого совпадает с IP-адресом в A-записи для example.org;
- «+mx» — разрешает прием писем, если отправляющий хост указан в одной из MX-записей для example.org;
- «-all» — все сообщения, не прошедшие верификацию с использованием перечисленных механизмов, следует отвергать.
Для лучшего понимания того, как работает SPF, рассмотрим еще один, более сложный пример:
example.org. IN TXT «v=spf1 mx ip4:78.110.50.123 +a:mail.ht-systems.ru include:gmail.com ~all»
Теперь более подробно о используемых опциях...
- «mx» — принимать письма от серверов, указанных в MX-записях;
- «ip4:78.110.50.123» — принимать письма, отправленные с IP-адреса 78.110.50.123;
- «+a:mail.ht-systems.ru» — то же, что и a:mail.ht-systems.ru. Принимать от mail.ht-systems.ru;
- «include:gmail.com» — принимать письма с серверов, разрешенных SPF-записями gmail.com;
- «~all» — принимать письма со всех остальных серверов, но помечать их как СПАМ
А теперь рассмотрим еще более «экзотичный» пример. В описании возможных опций указывалось, что возможно указание сетей ip-адресов. Стоит отметить, что это применимо и к записям «a» и «mx». Рассмотрим следующий пример:
example.org. IN TXT «v=spf1 mx/24 a:hts.ru/24 -all»
«mx/24» — в список разрешенных отправителей входят все IP-адреса, находящихся в тех же сетях класса С, что и MX-ы домена;
«a:hts.ru/24» — в список разрешенных отправителей входят все IP-адреса, находящихся в тех же сетях класса С, что и А-записи домена hts.ru;
«-all» — всех остальных отправителей — блокируем.
Иногда можно встретить следующие записи (очень редко):
«ptr» — проверяет PTR-запись IP-адреса отправителя. Если она сходится с указаным доменом, то механизм проверки выдает положительный результат. Тоесть, разрешено отправлять всем IP-адресам, PTR-запись которых направлены на указанный домен. Серьезным недостатком даного метода есть то, что генерируется очень большое количество DNS-запросов;
«exists» — выполняется проверка, резолвится ли домен на какой-либо IP-адрес. Тоесть, по существу, выполняется проверка работоспособности доменного имени. Кстати, не имеет значения, на какой IP-адрес резолвится домен, даже если это «серые» сети (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) или loopback (127.0.0.1).
Пример использования:
example.org. IN TXT «v=spf1 ptr:example.org exist:example.org -all»
Также не будет излишним ознакомиться со следующими опциями: redirect и exp.
«redirect» — указывает получателю, что нужно проверять SPF-запись указаного домена, вместо текущего домена. Пример:
example.org. IN TXT «v=spf1 redirect:example.com ~all»
В даном примере будет проводится проверка SPF-записи домена example.com, а не example.org.
«exp» — использование даной опции позволяет задать сообщение о ошибке, которое будет передано отправителю при возникновении таковой. Размещается в конце SPF-записи, даже после опции all. Рассмотрим более детально механизм работы опции exp.
Допустим, что у домена example.org следущая SPF-запись:
example.org. IN TXT «v=spf1 +a +mx -all exp=spf.example.org»
Теперь содаем TXT-запись для домена spf.example.org:
spf.example.org. IN TXT «You host not allowed e-mail to me»
В результате этих шаманских действий SPF-запись будет контролировать, чтобы почта доставлялась только от валидных хостов, а всем остальным будет отправляться сообщение о ошибке, прописанное в TXT-записи домена spf.example.org.
Так же стоит обратить внимание, что любое решение о блокировке или маркировке письма как спам, решает программа которая обрабатывает получение почты на сервере, иногда даже почтовые программы это тоже делают.
Ресурсные записи DNS (или DNS-записи домена) - это записи, которые в системе доменных имен указывают соответствие между именем и служебной информацией.
Проще говоря, ресурсные записи связывают имя и служебную информацию о сервере, на который указывает это имя. Например, вы вводите адрес сайта в браузере - и именно DNS-запись позволит вашему провайдеру отправить запрос на сервер с нужным вам сайтом, чтобы затем отобразить его на экране вашего компьютера.
Небольшая справка. DNS (Domain Name System) - это система доменных имен. Она используется для получения информации о доменах, в частности IP-адреса. Более подробно об этом можно прочитать в статье « ».
Ресурсные записи не ограничиваются только соответствием «домен - IP-адрес». Существует несколько десятков типов ресурсных записей . Каждый тип необходим для работы определенной службы.
В этой статье мы остановимся на элементах ресурсных записей, связанных с почтовыми отправлениями: SPF, DKIM, DMARC. И для начала разберемся в том, с какими проблемами могут столкнуться те, кто хочет сделать свою рассылку.
Мое письмо ушло в спам
«Почему мое письмо попало в папку “Спам”?» - этим вопросом задаются многие начинающие пользователи, которые сделали рассылку по своей базе подписчиков.
Сначала определимся, что такое спам. Спам - это массовая рассылка пользователям, которые не давали согласия на ее получения. Весомую долю спама составляют мошеннические письма. Почтовые сервисы отправляют такие письма в папку «Спам», чтобы уберечь своих пользователей от неприятностей: вирусов, фишинга и других видов интернет-мошенничества.
Естественно, процесс анализа «спам-не спам» проходит в автоматическом режиме - у почтовых сервисов есть свои алгоритмы. После их анализа одни письма отправляются во входящие, а другие исчезают в недрах папки «Спам», в которую многие пользователи даже не заглядывают.
Настройка ресурсных записей дает возможность если не исключить, то хотя бы максимально уменьшить вероятность попадания вашего письма в спам.
SPF
SPF (Sender Policy Framework, инфраструктура политики отправителя) - это расширение для протокола отправки электронной почты через SMTP. Используя SPF, владелец домена может указать список серверов, которые смогут отправлять почтовые сообщения с адресом отправителя в этом домене. Иными словами, только указанные серверы смогут отправлять письма от имени этого домена.
Именно настройка SPF-записи защищает домен от несанкционированного использования. Это не позволяет допустить ситуации, когда от имени вашего домена будут рассылаться мошеннические письма.
Поэтому почтовые службы обращают внимание на SPF-запись, а также DKIM и DMARC, о которых будет рассказано далее.
Обязательно проверьте SPF-запись, если письма, отправленные при помощи функции PHP mail(), попадают в спам.
Как настроить SPF
SPF настраивается как TXT-запись для домена.
Небольшая справка. TXT-запись - это тип ресурсной записи, который содержит дополнительную информацию о домене. Чаще всего TXT-запись используется для подтверждения прав собственности на домен и настройки почтовых данных.
В справочном центре Timeweb есть подробная статья об основном синтаксисе и других механизмах настройки SPF - « Настройка SPF-записи ».
Более подробно ознакомиться с синтаксисом можно в документации SPF .
Если ваш домен расположен на нашем хостинге (и для него указаны NS-серверы Timeweb), то смело обращайтесь в службу поддержки, наши специалисты помогут вам настроить SPF-запись.
Клиентам с другими NS-серверами необходимо обращаться к держателю NS-серверов.
DKIM
DKIM (DomainKeys Identified Mail) - это метод e-mail аутентификации, который дает возможность получателю проверить, было ли письмо отправлено с заявленного домена.
Главная задача DKIM - это упростить обнаружение электронных писем с поддельными адресами, когда заявленный адрес не соответствует адресу, с которого было отправлено письмо (один из видов мошеннических писем).
DKIM позволяет значительно облегчить идентификацию законной, правомочной электронной почты.
Технология DomainKeys позволяет передавать через DNS открытые ключи шифрования и затем автоматически проверять подпись на стороне получателя письма. Подпись в виде скрытого кода добавляется в письмо, а затем подтверждает получателю, что письмо отправлено именно с того домена, который указан.
Настройки SPF и DKIM подтверждают, что отправитель письма определен и не является мошенником.
Как настроить DKIM
Информация о DKIM есть в нашем справочном центре в статье « Настройка DNS-записей ».
Если вы используете почту Timeweb, то DKIM-подпись создается автоматически: все необходимые настройки автоматически прописываются в тот момент, когда вы создаете первый почтовый ящик на своем домене.
DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance, идентификация сообщений, создание отчетов и определение соответствия по доменному имени) - это спецификация, направленная на снижение количества мошеннических электронных писем, в частности фишинговых атак.
SPF и DKIM - это хорошие и надежные методы аутентификации отправителя, но они имеют свои недостатки, поэтому была разработана открытая спецификация использования DMARC.
Изначально технология DMARC применялась в Gmail; в данный момент она работает в сервисах Facebook, LinkedIn, Hotmail, Yahoo!, Mail.ru, Яндекс.Почта и других принимающих узлах, которые используют данную технологию.
DMARC позволяет идентифицировать почтовые домены отправителя, основываясь на признаках и правилах, которые заданы на сервере адресата. Стандарт DMARC для принимающих узлов устанавливается в соответствии с механизмами SPF и DKIM, то есть как бы объединяет эти два механизма. И на всех принимающих узлах, поддерживающих эту технологию, будут выдаваться единые результаты.
DMARC дает возможность проверить, соответствует ли домен в заголовке (адрес отправителя) идентификаторам SPF и DKIM. Для того, чтобы письмо прошло проверку, идентификатор должен соответствовать домену, указанному в поле “From” («от»).
Как настроить DMARC
Почтовый сервис Timeweb использует только SPF/DKIM. Но DMARС-запись может быть указана для домена, если домен должен быть настроен для стороннего почтового сервиса, использующего эту спецификацию.
Для настройки DMARC нужно добавить доменную запись в DNS-настройки.
Пример самой простой записи, позволяющей включить режим мониторинга (выполнить тест DMARC и сохранить его результат):
Dmarc.сайт IN TXT “v=DMARC1; p=none”
Такая запись позволить защитить письма, которые будут отправлены от домена сайт, а также от поддоменов (например, mail.сайт).
В этом случае если проверка на стороне получателя покажет, что домен в заголовке “From” соответствует указанному в доменной записи DMARC, то письмо пройдет проверку и попадет в почтовый ящик адресата.
Полную информацию о синтаксисе DMARC можно найти на официальном сайте .
В этой статье советы по настройке почтовых отправлений касаются только SPF, DKIM и DMARC, однако только этими настройками они не ограничиваются. Мы рекомендуем прочитать в нашем справочном центре статью « Рекомендации для рассылок », где рассказывается об общих правилах рассылок, которые обязательно нужно иметь в виду.
Если у вас есть какие-нибудь вопросы, задавайте в комментариях, будем рады помочь!