Кириллическая почта
Кириллическая почта — это возможность создания почтового ящика с кириллическими буквами до символа @. Например: почта@ispmanager.ru.
Доменные имена для почтовых ящиков могут быть как кириллическими, так и латинскими.
Смешивание алфавитов до символа @ или доменной части не допускается. Например, почта кириллицаlatin@ispmanager.ru работать не будет.
Требования
- Операционная система: Debian 11, 12 или Ubuntu 20, 22, 24.
- Exim версии не ниже 4.94, собранный с поддержкой I18N.
Начиная с версии 6.117 кириллическая почта автоматически настроена на новых установках ispmanager. При обновлении с более старых версий потребуется ручная настройка.
Ручная настройка
- Откройте конфигурационный файл Exim и до строки
begin acl
добавьте строку:/etc/exim4/exim4.conf.template:acl_smtp_mail = acl_check_mail
- Настройте 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
- Замените переменные $domain.
Замените все вхождения переменной $domain на ${utf8_domain_to_alabel:$domain} для кодирования доменного имени в punycode.
ПримерЭто необходимо для обработки писем, приходящих с почтовых серверов, которые не кодируют доменное имя, например Google.
- Добавьте переменную с декодированным значением $authenticated_id.
set acl_c11 = ${run{/usr/local/mgr5/sbin/octalconv.sh $authenticated_id}}
- Все переменные $authenticated_id, которые встречаются ниже определения acl_c11, замените на $acl_c11.
- Обновите секцию аутентификации кириллического почтового ящика.
Перед
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
- Сохраните и закройте конфигурационный файл Exim.
- В конфигурационном файле Dovecot разрешите русские буквы:
/etc/dovecot/conf.d/10-auth.confauth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_+=`@абвгдеёжзийклмнопрстуфхцчшщъыьэюя
- Добавьте в конфигурационный файл панели опцию: /usr/local/mgr5/etc/ispmgr.conf.d/mta.conf
Option EmailEAI
- Подключитесь к серверу по SSH и перезапустите панель и службы Exim и Dovecot:
systemctl restart exim4 systemctl restart dovecot killall core
Теперь вы можете создавать почтовые ящики с русскими символами в локальной части. В качестве псевдонима для таких ящиков будет автоматически указано название ящика в punycode.
Отключение
- Откройте конфигурационный файл
/usr/local/mgr5/etc/ispmgr.conf.d/mta.conf
. - Закомментируйте
Option EmailEAI
и сохраните изменения. - Перезапустите панель и службы Exim и Dovecot через консоль:
systemctl restart exim4 systemctl restart dovecot killall core