Пошаговая инструкция по настройке DKIM-подписи в Ubuntu 24.04 на сервере с iRedMail: генерация ключей, настройка Amavis, создание DNS-записи и проверка правильности подписи

Как настроить DKIM-подпись в Ubuntu 24.04 для iRedMail: пошаговый гайд

Хотите, чтобы ваши письма не попадали в спам? Настройка DKIM — важный шаг к этому. В этом гайде рассказываем, как настроить DKIM-подпись в Ubuntu 24.04 с iRedMail: от генерации ключей до проверки результата. Всё на реальном примере и без лишних сложностей.

Обновлено: 26.04.2025

Подпись электронной почты через DKIM — важная мера защиты от подмены писем. В этом руководстве мы разберем, как правильно настроить DKIM в Ubuntu 24.04 на сервере с iRedMail, используя Amavis. Пошагово и на реальном примере.


Что такое DKIM и зачем он нужен?

DKIM (DomainKeys Identified Mail) — это технология, которая позволяет получателю убедиться, что письмо действительно отправлено с указанного домена и не было изменено в процессе передачи.

Если коротко:

  • Без DKIM письма могут попадать в спам.

  • С DKIM — почтовые сервисы (например, Gmail, Yandex) получают подтверждение, что письмо подлинное.


Шаг 1: Генерация DKIM-ключа

Создадим приватный ключ для домена (в примере будет использоваться example.ru).

sudo amavisd genrsa /var/lib/dkim/example.ru.pem

Права доступа:

sudo chmod 0400 /var/lib/dkim/example.ru.pem
sudo chown amavis:amavis /var/lib/dkim/example.ru.pem

Шаг 2: Настройка Amavis

Откроем конфигурационный файл:

sudo nano /etc/amavis/conf.d/50-user

Добавляем (или редактируем) следующие строки:

# Включить проверку DKIM
$enable_dkim_verification = 1;

# Указать путь к ключу
dkim_key('example.ru', 'dkim', '/var/lib/dkim/example.ru.pem');

# Настройки подписи для доменов
@dkim_signature_options_bysender_maps = ({
    'example.ru' => { d => 'example.ru', a => 'rsa-sha256', c => 'relaxed/simple', ttl => 30*24*3600 },
});

🔵 Обратите внимание:

  • 'dkim' — это selector для DKIM-записи (будет нужен позже при создании записи в DNS).

  • TTL выставлен на 30 дней.


Шаг 3: Перезапуск службы Amavis

Применяем изменения:

sudo systemctl restart amavis.service

Проверяем статус:

sudo systemctl status amavis.service

Шаг 4: Создание записи в DNS

Теперь нужно опубликовать публичный ключ в DNS домена.

Выводим публичный ключ:

sudo amavisd showkeys

Результат будет примерно такой:

dkim._domainkey.example.ru. 3600 TXT ("v=DKIM1; p=MIGfMA0GCSqG...тут длинный ключ...")

Что делать с этим:

  • В панели управления доменом создайте новую запись типа TXT.

  • В поле Имя (Name) впишите: dkim._domainkey

  • В поле Значение (Value) вставьте весь текст из скобок "...", без лишних пробелов и переносов.

🔵 Совет: В некоторых панелях управления доменами example.ru. в конце имени указывать не нужно. Просто dkim._domainkey.


Шаг 5: Проверка

Когда запись распространится (обычно через 5-30 минут), проверьте корректность:

  • Отправьте письмо на тестовый сервис, например, mail-tester.com.

  • Либо используйте команду:

sudo amavisd showkeys

Если все сделано правильно, DKIM-подпись будет действовать, а ваши письма перестанут "проваливаться" в спам.


Частые ошибки

ОшибкаПричинаРешение
Письма не подписаны DKIM Amavis не применил изменения Проверьте права на ключ и настройки в 50-user
Запись в DNS не видна Проблема с распространением DNS Подождите несколько часов, проверьте через nslookup
Ошибка в формате TXT-записи Неправильные кавычки или пробелы Пересоздайте запись, аккуратно скопировав ключ

 Настройка DKIM в Progressive OS

Настройка DKIM на iRedMail в Ubuntu 24.04 — процесс несложный, если следовать пошагово. Это небольшое усилие значительно повысит репутацию вашей почты и надежность доставки писем.

Хотите, чтобы мы помогли вам с настройкой почтовых серверов или безопасной инфраструктуры под ключ? Мы можем сделать это быстро и аккуратно.