Преобразование адреса

Содержание материала

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Поле преобразования содержит неопределенную лексему $1, литерал <@, неопределенную лексему $2, литерал точки ( .), ссылку на макроопределение D, н также литерал >. После сопоставления с шаблоном $1 содержит kathy. mccafferty, а $2 содержит rodent. Предположим, что макроопределение D было создано ранее в файле sendmail.cf и хранит значение wrotethebook.com. В результате исходный адрес переписывается следующим образом:

kathy.mccafferty<@rodent.wrotethebook.com>

Рисунок 10.3 иллюстрирует данное конкретное преобразование адреса. Показаны лексемы, выделенные из исходного адреса, а также их сопоставление с шаблоном. Представлены также неопределенные лексемы, созданные при сопоставлении с шаблоном, и их использование наряду с другими значениями поля преобразования для создания конечного, измененного адреса. После подстановки адрес снова сравнивается с шаблоном. На этот раз с отрицательным результатом, поскольку адрес уже не содержит одну и только одну лексему между литералами <@ и >. Итак, адрес не подвергается дальнейшей обработке данным правилом подстановки, но передается следующему по очереди правилу. Правила набора выполняются последовательно, хотя для изменения порядка их обработки могут использоваться некоторые метасимволы.

Рис. 10.3. Переписывание адреса

Символ $>л вызывает набор правил п и передает этому набору адрес, созданный оставшимися инструкциями поля преобразования. Например:

$>9 $1 % $2

Это преобразование вызывает набор правил 9 ($>9) и передает этому набору для обработки содержимое лексемы $1, символ %, а также содержимое лексемы $2. Когда набор правил 9 заканчивает работу, он возвращает обработанный адрес вызвавшему его правилу. Этот адрес снова сравнивается с шаблоном вызывающего правила. Если соответствие найдено, набор правил 9 вызывается повторно.

Рекурсия, присущая правилам подстановки, потенциально позволяет создавать бесконечные циклы, sendmail, как может, старается обнаружить возможные циклы, однако ответственность за создание правил, ведущих к зацикливанию, лежит на их авторе.


Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.
yandex-disk
Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

>> Ubuntu 12.04 + Nginx Скачать сервер
>> Fedora 15 Скачать сервер
>> Простой Debian 6.0.6 Скачать сервер
>> CentOS 6.0 и
+ (5.6) другой
Скачать сервер
>> OpenSUSE 11.4
MAX
Скачать сервер

Вход на сайт

ВНИМАНИЕ!

Регистрация на сайте только по согласованию с администратором ресурса. Обращаться через форму обратной связи.