Назад | Перейти на главную страницу

SPF и DKIM для одного домена на двух серверах

Я последовал за это руководство для настройки SPF и DKIM для отправки писем с сервера для домена. Этот сервер является местоположением фактического почтового сервера для домена.

Теперь я хочу настроить другой сервер, чтобы иметь возможность отправлять электронные письма из домена через PHP. Кто-нибудь может подсказать, как это делается? Это точно такие же шаги?

В руководстве, которому вы следуете, объясняется одна базовая установка Postfix + Dovecot, как описано в первая часть. Не нравится отношение к настройке SPF и DKIM пройти через спам-фильтры, поскольку цель SPF - запретить другим использовать ваш домен в качестве отправитель конверта а цель DKIM - подтвердить, что домен авторизовал это сообщение и что подписанное содержимое не было изменено.

Автор учебника сделал несколько сокращений, и, хотя он довольно хорошо объяснил все шаги и обосновал некоторые из своих собственных решений, в нем мало говорится о том, какие настройки можно или нужно изменить в соответствии с вашими потребностями.

SPF

Давайте взглянем на запись, приведенную в руководстве, и развенчаем недостатки в объяснении.

TXT  @   "v=spf1 mx ~all"

Пояснение:

  • TXT указывает, что это запись TXT.
  • Войти @ в поле имени.
  • v=spf1 указывает, что это запись SPF, а версия записи SPF - SPF1.

В @ заменяется на переменную, например, в $ORIGIN example.com., что означает, что эта запись будет для вершины домена, т.е. example.com. IN TXT.

  • mx означает, что всем хостам, указанным в записях MX, разрешено отправлять электронные письма для вашего домена, а всем остальным хостам запрещено.

Вы могли бы использовать в mx механизм если те же серверы, которые используются для получения почты, также отправляют почту. Это не всегда верно в больших конфигурациях, и иногда есть дополнительные источники исходящей почты, которые не будут использоваться для получения сообщений, например системы информационных бюллетеней. Как mx механизму сначала требуются дополнительные DNS-запросы для MX записей, а затем для соответствующих A записи, обычно лучше использовать ip4 & ip6 механизмы, чтобы сообщить разрешенные IP-адреса (или CIDR) напрямую.

  • ~all указывает, что электронные письма из вашего домена должны приходить только с хостов, указанных в записи SPF. Электронные письма от других хостов будут помечены как поддельные. Возможные альтернативы: +all, -all, ?all, но они используются редко.

В ~ средства SoftFail, поэтому это не мешает кому-либо использовать ваш домен, но может использоваться для оценки спама. В -all не "редко используется", но, вероятно, является правильным определителем для создания жесткого Потерпеть поражение результат, позволяющий полностью отклонить сообщение.

С этими исправлениями запись SPF для разрешения сообщений только с двух серверов будет, например,

example.com. IN TXT "v=spf1 +ip4:192.0.2.88 +ip4:198.51.100.61 -all"

DKIM

В DKIM есть селекторы (RFC 6376, 3.1) для того, чтобы несколько источников могли подписывать сообщения для одного домена без совместного использования ключей. В этом руководстве используется default в качестве селектора, но может заменить его, например с именем сервера, чтобы сделать его уникальным. Затем вы можете иметь отдельные ключи подписи на обоих серверах и соответственно публиковать открытые ключи, например

mailserver._domainkey.example.com. IN TXT "v=DKIM1; h=sha256; k=rsa; " "p=...
newsletter._domainkey.example.com. IN TXT "v=DKIM1; h=sha256; k=rsa; " "p=...

Подсказка: легко увидеть, что следует изменить, если выделить все вхождения слова default в учебнике с помощью инструмента поиска в вашем браузере.