Вот мы и добрались до сути: 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