ispmanager 6 lite, pro, host

Кириллическая почта

Кириллическая почта — это возможность создания почтового ящика с кириллическими буквами до символа @. Например: почта@ispmanager.ru.

Доменные имена для почтовых ящиков могут быть как кириллическими, так и латинскими.

Смешивание алфавитов до символа @ или доменной части не допускается. Например, почта кириллицаlatin@ispmanager.ru работать не будет.

Требования

  • Операционная система: Debian 11, 12 или Ubuntu 20, 22, 24. 
  • Exim версии не ниже 4.94, собранный с поддержкой I18N.

Начиная с версии 6.117 кириллическая почта автоматически настроена на новых установках ispmanager. При обновлении с более старых версий потребуется ручная настройка.

Ручная настройка

  1. Откройте конфигурационный файл Exim и до строки begin acl добавьте строку:
    /etc/exim4/exim4.conf.template:
    acl_smtp_mail = acl_check_mail
  2. Настройте ACL-проверку отправителя.

    В том же файле /etc/exim4/exim4.conf.template, после строки begin acl, но перед существующими секциями ACL добавьте  код:

        acl_check_mail:
            warn   authenticated = *
            set acl_c10 = ${run{/usr/local/mgr5/sbin/octalconv.sh $authenticated_id}}
            accept  condition = ${if eq{${utf8_localpart_to_alabel:${local_part:$acl_c10}}}{${local_part:$acl_c10}}{yes}{no}}
            deny    condition = ${if !eq{$sender_address}{$acl_c10}{yes}{no}}
            message = Address ${local_part:$sender_address}@${utf8_domain_from_alabel:${domain:$sender_address}} \
                      does not match with authenticated data ${local_part:$acl_c10}@${utf8_domain_from_alabel:${domain:$acl_c10}}. \
                      Check your email program settings.
            accept
  3. Замените переменные $domain.

    Замените все вхождения переменной $domain на ${utf8_domain_to_alabel:$domain} для кодирования доменного имени в punycode. 

    Пример

    Это необходимо для обработки писем, приходящих с почтовых серверов, которые не кодируют доменное имя, например Google.

  4. Добавьте переменную с декодированным значением $authenticated_id.
    set acl_c11 = ${run{/usr/local/mgr5/sbin/octalconv.sh $authenticated_id}}
  5. Все переменные $authenticated_id, которые встречаются ниже определения acl_c11, замените на $acl_c11.
  6. Обновите секцию аутентификации кириллического почтового ящика.

    Перед accept authenticated = *добавьте код:   

    condition = ${if !eq{${utf8_localpart_to_alabel:${local_part:$acl_c11}}}{${local_part:$acl_c11}}{yes}{no}}
        condition = ${if eq{${extract{5}{:}{${lookup{$acl_c11}lsearch{/etc/exim4/passwd}}}}}{no} {yes}{no}}
        condition = ${if eq{${extract{3}{:}{${lookup{${domain:$acl_c11}}lsearch{/etc/exim4/domains}}}}}{no} {yes}{no}}
        remove_header = Sender
        add_header = Sender: $acl_c11
        control = utf8_downconvert/-1
  7. Сохраните и закройте конфигурационный файл Exim.
  8. В конфигурационном файле Dovecot разрешите русские буквы:
    /etc/dovecot/conf.d/10-auth.conf
    auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_+=`@абвгдеёжзийклмнопрстуфхцчшщъыьэюя
  9. Добавьте в конфигурационный файл панели опцию:
    /usr/local/mgr5/etc/ispmgr.conf.d/mta.conf
    Option EmailEAI
  10. Подключитесь к серверу по SSH и перезапустите панель и службы Exim и Dovecot:
    systemctl restart exim4
    systemctl restart dovecot
    killall core

Теперь вы можете создавать почтовые ящики с русскими символами в локальной части. В качестве псевдонима для таких ящиков будет автоматически указано название ящика в punycode.

Отключение

  1. Откройте конфигурационный файл /usr/local/mgr5/etc/ispmgr.conf.d/mta.conf
  2. Закомментируйте Option EmailEAI и сохраните изменения.
  3. Перезапустите панель и службы Exim и Dovecot через консоль:
    systemctl restart exim4
    systemctl restart dovecot
    killall core
Оцените статью
Оцените статью

В этой статье