Вот мы и добрались до сути: Postfix вообще не подключён к OpenDKIM.
Это видно по выводу:

non_smtpd_milters =
smtpd_milters =

Обе строки пустые → Postfix не использует ни один milter, значит:

  • DKIM‑подпись не добавляется
  • DMARC проходит только по SPF
  • SpamAssassin ругается
  • Gmail/Outlook будут снижать репутацию

Это полностью объясняет отсутствие DKIM.

Давай подключим OpenDKIM правильно и аккуратно.


🟩 1. Добавляем milter‑строки в Postfix

Открываем:

nano /etc/postfix/main.cf

Добавляем в самый низ:

milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

Это стандартный и правильный способ подключения OpenDKIM.


🟩 2. Проверяем, что OpenDKIM слушает порт 8891

ss -tulpn | grep 8891

Должно быть:

tcp LISTEN 0 100 127.0.0.1:8891 ...

Если нет — запускаем:

systemctl restart opendkim
systemctl status opendkim

🟩 3. Перезапускаем Postfix

systemctl restart postfix

🟩 4. Проверяем, что Postfix увидел milters

postconf | grep milters

Ожидаемый результат:

milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

🟩 5. Отправляем тестовое письмо

Отправь письмо на:

check-auth@verifier.port25.com

или на mail‑tester.

В заголовках письма должно появиться:

DKIM-Signature: v=1; a=rsa-sha256; d=sumuis.ru; s=mail; ...

Если DKIM‑подпись появилась → всё работает.


🟥 Если подписи нет — проверим права на ключи

Выполни:

ls -l /etc/opendkim/keys/example.com/

Должно быть:

-rw------- opendkim opendkim mail.private
-rw-r--r-- opendkim opendkim mail.txt

Если владелец root → OpenDKIM не сможет подписывать.

Исправляем:

chown -R opendkim:opendkim /etc/opendkim/keys
chmod 600 /etc/opendkim/keys/example.com/mail.private

От alex

Обучаемый.