VIRTUAL
Updated:
Index Return to Main Contents
НАЗВАНИЕ
virtual - формат таблицы virtual для PostfixОБЗОР
postmap /etc/postfix/virtual
ОПИСАНИЕ
Дополнительная таблица virtual задает адресное перенаправление для локальных и не локальных получателей или доменов. Перенаправление используется демоном cleanup(8). Перенаправления - рекурсивны. Виртуальное перенаправление применяется только для адресов получателей в конверте и не воздействует на заголовки сообщения. Если хотите, думайте про правило Sendmail S0. Для обычной перезаписи адресов в заголовках и конвертах используйте преобразование canonical(5). Обычно таблица virtual задается в виде текстового файла, который подается на вход команды postmap(1). В результате создается индексированный файл в формате dbm или db, используемый почтовой системой для быстрого поиска. Для обновления индексированного файла после изменения в текстовом файле выполните команду postmap /etc/postfix/virtual. Если таблица реализованы другими средствами, такими как NIS, LDAP или SQL, тот же самый поиск выполняется как для обычных индексированных файлов. Кроме того, таблицу можно задавать как карту регулярных выражений, где шаблоны указаны как регулярные выражения. В этом случае поиск несколько отличается от описанного выше.ВИРТУАЛЬНЫЕ ДОМЕНЫ В СТИЛЕ POSTFIX
В случае виртуального домена в стиле Postfix, у виртуального домена имеется собственное пространство имен пользователей. Локальные (т.е. не виртуальные) пользовательские имена в виртуальном домене в стиле Postfix не видны. В частности, локальные aliases(5) и почтовые списки не видны как localname@virtual.domain. Если локальные пользователи, псевдонимы aliases(5) или почтовые списки (списки рассылки) должны быть видны как localname@virtual.domain, используйте виртуальные домены в стиле Sendmail (см. ниже). Поддержка виртуальных доменов в стиле Postfix выглядит так:
/etc/postfix/virtual:
virtual.domain anything (содержание правой части не имеет значения) postmaster@virtual.domain postmaster user1@virtual.domain address1 user2@virtual.domain address2, address3
Для виртуального домена в стиле Postfix необходима запись virtual.domain anything.
Не указывайте виртуальный домен Postfix в конфигурационном параметре mydestination в main.cf. Такая запись необходима только для виртуального домена Sendmail.
При виртуальном домене Postfix SMTP-сервер Postfix'а принимает почту для известного пользователя known-user@virtual.domain и отказывает почте для неизвестного пользователя unknown-user@virtual.domain как для недостижимого.
ВИРТУАЛЬНЫЕ ДОМЕНЫ В СТИЛЕ SENDMAIL
При виртуальных доменах Sendmail каждое локальное (т.е. не виртуальное) имя пользователя видно в виртуальном домене. В частности, каждый локальный псевдоним и список рассылки виден как localname@virtual.domain. Если локальные пользовательские имена, aliases(5) или списки рассылки не должны быть видны как localname@virtual.domain, используйте виртуальный домен Postfix (см. выше). Поддержка виртуальных доменов Sendmail выглядит так:
/etc/postfix/main.cf:
mydestination = $myhostname localhost.$mydomain $mydomain
virtual.domain
/etc/postfix/virtual:
user1@virtual.domain address1 user2@virtual.domain address2, address3Для виртуального домена в стиле Sendmail необходима запись mydestination в main.cf. Не указывайте virtual.domain для виртуального домена Sendmail в записях таблицы virtual. Такая запись требуется только для виртуального домена в стиле Postfix. При виртуальном домене в стиле Sendmail агент локальной доставки Postfix почту для неизвестного user@virtual.domain будет доставлять локальному (т.е. не виртуальному) пользователю с таким же именем; если такого получателя нет, то агент локальной доставки Postfix вернёт почту отправителю.
ФОРМАТ ТАБЛИЦЫ
Ниже показан формат таблицы virtual, замены будут пробоваться в порядке перечисления на данной странице руководства:
- пропуски и комментарии
- Пустые строки игнорируются, как и строки, начинающиеся с "#"
- начальные пробелы
- Строки, начинающиеся с пробелов, являются продолжением предыдущей строки.
- шаблон результат
- При совпадении шаблона с почтовым адресом, последний заменяется на соответствующий результат.
Во время поиска в индексированных файлах, типа DB или DBM, или в сетевых таблицах, таких как NIS, LDAP или SQL, шаблоны применяются в указанном ниже порядке:
- user@domain address, address, ...
- Почта для user@domain перенаправляется на address. Данный шаблон имеет наивысший приоритет.
- user address, address, ...
-
Почта для user@site перенаправляется на address,
если site равен $myorigin, перечислен в $mydestination
или в $inet_interfaces.
Такое действие напоминает действие локальной базы alias(5). Различие в том, что виртуальная подмена (virtual mapping) может применяться для не локальных адресов.
- @domain address, address, ...
- Почта любому пользователю в domain перенаправляется на address. Этот шаблон имеет наименьший приоритет.
Во всех перечисленных выше видах, если address имеет вид @otherdomain, результатом будет такой же пользователь в otherdomain. В случае расширенной адресации это срабатывает только для первого получателя.
РАСШИРЕННАЯ АДРЕСАЦИЯ
Если поиск не удался и локальная часть адреса содержит дополнительный необязательный разделитель получателей (напр., user+foo@domain), поиск повторяется для не расширенного адреса (напр., user@domain), а не совпавшее расширение адреса добавляется к полученному результату. Порядок сравнения такой: user+foo@domain, user@domain, user+foo, user, and @domain.
ТАБЛИЦЫ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ
Этот раздел описывает изменения в табличном поиске, если таблица дана в формате регулярных выражений. Описание синтаксиса регулярных выражений в поисковых таблицах смотрите в regexp_table(5) или pcre_table(5). Каждый шаблон является регулярным выражением, применяемым полностью к адресу, по которому производится поиск. Таким образом, почтовые адреса user@domain не разбиваются на свои составляющие части user и @domain, в том числе user+foo не разбиваются на user и foo. Шаблоны применяются в порядке, указанном в таблице, пока не будет найдет шаблон, удовлетворяющий строке поиска. Результат тот же, что и при поиске в обычном индексном файле, но с дополнительной возможностью использовать в шаблоне подстроки, заключенные в скобки, как $1, $2 и т.д.
ОШИБКИ
Формат таблицы не распознает применение кавычек.ПАРАМЕТРЫ КОНФИГУРАЦИИ
К данной теме относятся следующие параметры в файле main.cf. Подробнее о синтаксисе и значениям по умолчанию смотрите в файле main.cf. После изменения конфигурации выполните команду postfix reload.
- virtual_maps
- Список таблиц виртуальной подмены.
Другие интересующие параметры:
- inet_interfaces
- Адреса сетевых интерфейсов, по которым эта система получает почту.
- mydestination
- Список доменов, локальных для этой почтовой системы.
- myorigin
- Имя домена, прибавляемое к локально отправленной почте.
- owner_request_special
- Применяет специальную обработку адресам owner-xxx и xxx-request.
СМОТРИ ТАКЖЕ
cleanup(8) - канонизация и постановка почты в очередь postmap(1) - создание таблицы подмены 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>, 24 Dec, 2001
Index
- НАЗВАНИЕ
- ОБЗОР
- ОПИСАНИЕ
- ВИРТУАЛЬНЫЕ ДОМЕНЫ В СТИЛЕ POSTFIX
- ВИРТУАЛЬНЫЕ ДОМЕНЫ В СТИЛЕ SENDMAIL
- ФОРМАТ ТАБЛИЦЫ
- РАСШИРЕННАЯ АДРЕСАЦИЯ
- ТАБЛИЦЫ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ
- ОШИБКИ
- ПАРАМЕТРЫ КОНФИГУРАЦИИ
- СМОТРИ ТАКЖЕ
- ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ
- ОБ АВТОРАХ