<source>
Постоянная ошибка проверки — это не «слать нельзя», а «запись не удалось разобрать»: синтаксическая ошибка, недопустимая конструкция, слишком много вложенных запросов. Умолчание — отвергать такое письмо окончательным отказом.
Отвергаете вы за чужую опечатку. Владелец домена ничего не запрещал; он просто ошибся, публикуя запись. Писем от таких доменов больше, чем кажется: сложные записи с вложенными ссылками ломаются часто и незаметно для владельца.
Сюда же приводит превышение предела пустых ответов DNS — им управляет check-spf-inbound-max-void-lookups, и его умолчание невелико.
Осмысленнее не отвергать. Результат всё равно попадёт в заголовок, и решение можно принять дальше по цепочке — уже зная содержимое письма.
Отвергать имеет смысл при потоке подделок. Нечитаемая запись у домена, которым представляются десятки писем в минуту, — сигнал сама по себе.
Проверьте предел пустых ответов. Часть этих ошибок приходит не от записи отправителя, а от вашего собственного порога.
# чужую опечатку записываем в заголовок, но письмо принимаем <source 0/0> check-spf-inbound true reject-spf-check-fail true reject-spf-check-permerror false</source>
что делают не так и чем это кончается2 ошибки▶
наш опыт
§ 3.3.7.24
2 связи
check-spf-inbound<source>Строка не срабатывает, пока проверка на входе не включена. § 3.3.7.70
grep -n reject-spf-check-permerror /etc/pmta/config grep -ci 'permerror' /var/log/pmta/pmta.log
3 статьи
◇Два обработчика входящих отчётов и что с ними делатьОтказы письмом и жалобы разбираются двумя одинаково устроенными блоками; у каждого свой список адресов и своя пара решений о судьбе письма.◇Что делать с принятым письмомЧто узел делает с принятым входящим письмом: пересылает, кладёт в файл, гасит, передаёт программе или разбирает как отказ или жалобу.◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.