Отображение валюты на сайте:

    «DKIM (DomainKeys Identified Mail)» — метод E-mail аутентификации, разработанный для обнаружения подделывания сообщений, пересылаемых по email. Dkim дает возможность получателю проверить, что письмо действительно было отправлено с заявленного домена.

    Устанавливаем пакет OpenDKIM. Он выполняет операции шифрования заголовков для DKIM.

    apt-get install opendkim opendkim-tools  
    

    Далее, создаем сертификат для домена, для этого воспользуемся opendkim-genkey и сформируем его, создаем каталог для размещения ключей:

    mkdir /etc/opendkim  
    

    Сгенерируем ключи командой:

    opendkim-genkey -D /etc/opendkim/ --domain testing.ru --selector dkim  
    
    • testing.ru - домен, с которого будет отправляться почта, dkim - имя селектора, оно может быть любым.

    В папке /etc/opendkim/ должно появиться два файла с расширениями .private (закрытый ключ) и .txt (txt-запись).

    Зададим группу владельца opendkim для созданных ключей:

    chown :opendkim /etc/opendkim/*  
    

    Задаем права для группы владельца:

    chmod g+rw /etc/opendkim/*  
    
    useradd opendkim -m -s /sbin/nologin  
    

    Разрешим чтение группе владельцу:

    chmod g+r /etc/opendkim/*  
    

    Далее настроим DNS.

    Смотрим содержимое файла txt:

    cat /etc/opendkim/dkim.txt  
    

    Используя данное содержимое, в панели управления DNS создаем TXT-запись следующего формата:

    dkim._domainkey IN  TXT ( "v=DKIM1; k=rsa; "  
    "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDM+aKFwMV4FHLhghuhQs4vEIIIigO0KzRwQojURHI8QV0m/aHt6AqO2JDhXpl54d3uXJj7QWE9653McQZxPQZa6Hu34RY70ap9OZQ664fWeVuyUAZ+VeQ7gGXQBCxPF6nAlnBIsYak+KV/s1HtaUuySVMiwIDAQAB"
    
    • dkim - название нашего селектора, p=MIGfMA0GCSqG...uySVMiwIDAQAB - сокращенная запись открытого ключа.

    Настройка OpenDKIM и Postfix

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

    nano /etc/opendkim.conf  
    

    И приводим его к следующему виду:

    AutoRestart             Yes  
    AutoRestartRate         10/1h  
    Umask                   002  
    Syslog                  yes  
    SyslogSuccess           Yes  
    LogWhy                  Yes  
    Canonicalization        relaxed/simple  
    ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts  
    InternalHosts           refile:/etc/opendkim/TrustedHosts  
    KeyTable                refile:/etc/opendkim/KeyTable  
    SigningTable            refile:/etc/opendkim/SigningTable  
    Mode                    sv  
    PidFile                 /var/run/opendkim/opendkim.pid  
    SignatureAlgorithm      rsa-sha256  
    UserID                  opendkim:opendkim  
    Socket                  inet:10021@localhost  
    
    • все параметры можно оставить, как в примере, Socket - можно указать другой порт, вместо 10021.

    Создаем файл доверенных узлов. В него войдут имена хостов, доменов и IP-адресов, которые будут приняты, как доверенные и подписаны.

    nano /etc/opendkim/TrustedHosts  
    

    И вносим следующее:

    127.0.0.1  
    localhost  
    *.testing.ru
    
    • где testing.ru — почтовый домен.

    Создаем таблицу KeyTable. В ней хранится список соответствий между селекторами, доменами и файлами с закрытыми ключами. Формат записей:
    <селектор>._domainkey.<домен> <домен>:<селектор>:<путь к закрытому ключу>

    nano /etc/opendkim/KeyTable  
    

    И в соответствии с форматом приводим его к нужному виду:

    dkim._domainkey.testing.ru testing.ru:dkim:/etc/opendkim/dkim.private  
    

    Далее создаем SigningTable. В данной таблице хранятся соответствия между определенными email-адресами и записями в KeyTable.

    nano /etc/opendkim/SigningTable  
    

    И приводим к такому виду:

    *@testing.ru dkim._domainkey.testing.ru
    

    Запускаем службу opendkim.

    service opendkim start  
    

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

    nano /etc/postfix/main.cf  
    

    Добавляем или редактируем:

    milter_protocol = 2  
    milter_default_action = accept  
    smtpd_milters = inet:localhost:10021  
    non_smtpd_milters = inet:localhost:10021  
    
    • если smtpd_milters и non_smtpd_milters присутствуют в конфигурационном файле, то приведенные в данном примере значения нужно дописать к имеющимся.
    • 10021 - порт работы opendkim, который был задан в opendkim.conf.

    Перезапускаем Postfix:

    service postfix restart  
    

    Отправляем электронное сообщение на различные почтовые системы - mail.ru, gmail.com, yandex.ru.
    Открываем наше письмо и смотрим заголовки (в mail.ru: Еще - Служебные заголовки).
    Находим следующую строчку, которая означает что проверка домена на базе DKIM настроена:

    dkim=pass header.d=testing.ru