Synology Mail Server 550 5.7.0 bad DKIM signature data

Сотрудники пожаловались, что от некоторых клиентов не приходит почта. Она не приходит даже в том случае, если в список разрешенных добавить домен отправителя или даже ip адрес почтового сервера отправителя. Выяснилось, что все эти клиенты используют используют Microsoft Outlook Всем этим клиентам письма возвращались с пометкой 550 5.7.0 bad DKIM signature data. Диагностика по логам выявила ошибку проверки подписи DKIM.

Проблема с Microsoft Outlook достаточно известная, но не будешь же убеждать каждого такого клиента пересаживаться на другой почтовый софт. Таким образом, решать задачу предстоит на стороне сервера. Приступим:

  1. Необходимо подключиться к Synology по SSH с правами администратора.
  2. Открываем файл @appstore/MailServer/etc/template/opendkim.template
  3. Ищем в нем параметр On-BadSignature. Он находится обычно в 383 строке или где-то рядом
  4. Заменяем On-BadSignature reject на On-BadSignature accept
  5. Перезапускаем почтовый сервер

Что мы сделали? Фактически мы разрешили принимать сообщения с неправильной подписью DKIM. Да, разрешение всего это действа несколько противоречит самой идее DKIM, но нам необходимо принимать письма, продолжая при этом подписывать свои. Если выключить проверку подлинности по DKIM в настройках безопасности, то наш сервер перестанет подписывать наши письма, что приведет к ухудшению доставляемости уже наших писем.

В результате произведенных манипуляций все письма от Microsoft Outlook проходят успешно.

А вот что говорит про параметр On-BadSignature документация по Opendkim

On-BadSignature (строка)
Выбор действия, которое будет выполнено в случае, если подпись не прошла проверку. Возможные значения (с сокращенными формами в скобках):

  1. accept (a) — принять сообщение;
  2. discard (d) — отклонить сообщение;
  3. quarantine (q) — поместить сообщение в карантин;
  4. reject (r) — отклонить сообщение;
  5. tempfail (t) — временно отклонить сообщение. Обратите внимание, что флаг «t» (тестирование) в ключе DKIM обходит это ограничение. Неверная подпись, ссылающаяся на флаг тестирования, всё равно будет доставлена, хотя в добавленном поле «Результаты аутентификации» будет указан как неудачный результат, так и режим тестирования, чтобы получатели сообщения могли принять соответствующие меры.