Обычно таблица canonical оформляется в виде текстового файла, который подается на вход команды postmap(1). Получаемый индексированный файл в формате dbm или db используется почтовой системой для быстрого поиска. После изменения текстового файла выполните команду postmap /etc/postfix/canonical для обновления индексированного файла.
Если таблица предоставляется другими средствами, такими как NIS, LDAP или SQL, поиск производится точно также, как и для обычного индексированного файла.
Кроме того, таблица может быть представлена как карта регулярных выражений, в которой шаблоны заданы в виде регулярных выражений. В этом случае поиск происходит несколько другим способом, описанным ниже.
Каноническая подмена действует как для адреса заголовка сообщения (т.е. для адреса внутри сообщений), так и для адреса конверта сообщения (например, адрес, используемый в командах протокола SMTP). Если хотите, вспомните набор правил S3 в Sendmail.
Обычно таблицу canonical используют для замены регистрационных имен (login names) на Firstname.Lastname, или для очистки адресов, созданных наследуемыми почтовыми системами.
Не следует путать каноническую подмену с поддержкой виртуальных доменов. Для этой цели используйте таблицу virtual(5).
Не следует также путать каноническую подмену с локальными псевдонимами. Для этой цели используйте таблицу aliases(5).
Формат таблицы canonical следующий:
Во время поиска в индексных файлах типа DB или DBM, либо в сетевых таблицах, таких как NIS, LDAP или SQL, шаблоны действуют в следующем порядке:
Данная форма полезна для очистки адресов, созданных наследуемыми почтовыми системами. Также ее можно использовать для создания адресов в стиле Firstname.Lastname, однако, ниже смотрите более простое решение.
Эта форма полезна для замены регистрационных имен на Firstname.Lastname.
Во всех вышеперечисленных формах если address имеет вид @otherdomain, результатом будет тот же пользователь в домене otherdomain.
Если поиск в таблице не дал результата, а локальная часть адреса содержит дополнительный разделитель получателей (например, user+foo@domain), поиск повторяется для не расширенного адреса (например, user@domain), а не совпавшее расширение передаётся в результат поиска в таблице. Порядок сравнения следующий: user+foo@domain, user@domain, user+foo, user и @domain.
В этом разделе описывается отличие поиска в таблице, если она задана в виде регулярных выражений. Описание синтаксиса поисковой таблицы в виде регулярных выражений смотрите в regexp_table(5) или pcre_table(5).
Каждый шаблон является регулярным выражением, применяемым к целому адресу, по которому производится поиск. Таким образом, почтовые адреса user@domain не разделяются на свои составляющие части user и @domain, а user+foo не разделяется на user и foo.
Шаблоны применяются в порядке следования в таблице, пока не будет найдет шаблон, подходящий к строке поиска.
Результат будет тот же, что и при поиске в обычном индексированном файле, с дополнительной возможностью интерполяции выделенных подстрок шаблона как $1, $2 и т.д.
Для этой программы особо актуальны следующие параметры в main.cf. Подробнее о синтаксисе и значениях по умолчанию смотрите в файле main.cf в поставке Postfix. После изменения конфигурации выполните команду postfix reload.
Другие параметры:
cleanup(8) - канонизирует и ставит почту в очередь postmap(1) - создание таблицы подмены virtual(5) - таблица виртуальных доменов pcre_table(5) - формат таблиц PCRE regexp_table(5) - формат таблиц регулярных выражений POSIX
С данным программным обеспечением должна поставляться лицензия от Secure Mailer.
Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Перевод: Alex Savvin <savvin@mail.ru>, Dec 15, 2001
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |