Я нашел это замечательное объяснение SPF на http://www.openspf.org/SPF_Record_Syntax и у меня он работал над моей старой установкой.
Настройка изменилась, и я снова оказался в затруднительном положении.
У меня есть внешний DNS-сервис. Маршрутизатор с динамическим IP-соединением. Сервер с внутренним ip 10.0.1.3. Записи DNS на этом сервере, указывающие, что server.example.com указывает на 10.0.1.3. Я использую DNS-сервер для решения собственных и локальных сетевых запросов. У меня также установлено приложение для отправки обновлений моей внешней службы DNS при изменении IP-адреса маршрутизатора.
До сих пор я понял, что в этом конкретном случае я мог бы успешно использовать запись TXT в следующих строках:
"v = spf1 a: server.example.com -all"
Это сработает? Предполагая, что IP-адрес не меняется в точности при отправке электронного письма ... Как лучше всего это настроить?
Спасибо!
PS. Насколько я понимаю, я мог бы использовать "v = spf1 mx -all" и иметь мой server.example.com как запись mx, и, в свою очередь, server.example.com динамически обновлялся до моего IP-адреса при его изменении. Таким образом, когда какой-то получатель получает электронное письмо от моего ip ... это проверяет запись MX, чтобы увидеть, находится ли ip в этом списке, затем он получает server.example.com в качестве ответа, который, в свою очередь, всегда разрешает мой последний динамический ip .
SPF зависит от DNS.
Система DNS использует Time To Live для уменьшения нагрузки запросов на DNS-серверы. Это означает, что изменения в DNS не распространяются мгновенно на весь Интернет.
Следовательно, невозможно сделать запланированную конфигурацию полностью отказоустойчивой, если публичный IP-адрес вашего почтового сервера может внезапно измениться.
Ваш первый вариант - попытаться получить статический IP-адрес. Некоторые интернет-провайдеры предлагают это как дополнительную услугу.
Если это невозможно, я бы порекомендовал вам отправлять почту через другой почтовый сервер, у которого есть статический IP-адрес. Это позволит вам указать этот сервер в записи SPF и сделать его более надежным.
Вы можете настроить сервер OS X для ретрансляции всей исходящей почты через указанный сервер. Чтобы это всегда работало, сервер ретрансляции должен быть настроен так, чтобы распознавать ваш сервер и доверять ему, даже если ваш сервер меняет IP-адрес. Я работаю на интернет-провайдера, который предоставляет этот тип службы ретрансляции почты, и я уверен, что другие тоже.
PS: Неразумно полагаться на очень низкий TTL в DNS. Во-первых, многие администраторы DNS настраивают свои преобразователи DNS таким образом, чтобы игнорировать низкий TTL. Во-вторых, как бы низко вы ни установили TTL, всегда будет окно сбоя для любой службы, которая зависит от правильных данных DNS. Лучше всего настроить свои службы так, чтобы изменения DNS происходили очень редко.
Честно говоря, я бы не стал зацикливаться на SPF-записях, они используются очень непоследовательно. По моему опыту, многие получающие почтовые серверы не используют проверку SPF, а если и используют, то в основном добавляют балл к вашему спам-баллу.
Однако, если вы все же хотите продолжать использовать SPF-записи в сочетании со своим динамическим IP-адресом, убедитесь, что ваш TTL для этой DNS-записи как можно меньше. А также сделайте запись SPF в конце ~ all вместо -all (по моему опыту ~ all - это наиболее часто используемый механизм)
Заметка
Если указан -all и ваш IP не совпадает, предполагается, что сервер отклонит сообщение.
Если указано ~ all и ваш IP-адрес не совпадает, предполагается, что сервер примет сообщение, но пометит его.
(Источник: http://www.openspf.org/SPF_Record_Syntax)
Используйте записи a или mx, как вы описываете, и они будут работать, если вы обновите DNS напрямую. Проблема обратного поиска легче всего решить, добавив дополнительную запись «a», которая соответствует вашему текущему IP.
Например, мой крайний IP-адрес 172.16.1.1 - host37.ispname.somecom. Вместо использования myname.mycom я добавляю CNAME в свой домен, который указывает на полное доменное имя провайдера. Этот путь вперед и назад в конечном итоге будет проверяться. Я не верю, что существует какое-либо ограничение для SPF указывать на CNAME (который затем указывает на полное доменное имя поставщика услуг Интернета). Или, что проще, просто обновите SPF, а не «a», чтобы он соответствовал реальному FQDN.
Я бы не рекомендовал это, если это ваше место жительства. Вы потенциально раскрываете информацию о местоположении, передавая свой текущий IP-адрес в DNS всем, у кого есть ваш адрес электронной почты.