Обновлено: 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 на iRedMail в Ubuntu 24.04 — процесс несложный, если следовать пошагово. Это небольшое усилие значительно повысит репутацию вашей почты и надежность доставки писем.
Хотите, чтобы мы помогли вам с настройкой почтовых серверов или безопасной инфраструктуры под ключ? Мы можем сделать это быстро и аккуратно.