Перевод выполнен Алексеем Паутовым в рамках некоммерческого проекта RussianLDP (http://www.rldp.ru/). Именно на этом сайте и надлежит искать новые версии, если таковые будут.
Обычно лишь удалённый транспорт (smtp) сконфигурирован для обработки более одного адреса за раз, таким образом, чтобы, когда несколько адресов роутятся к одному хосту, посылалась лишь одна копия сообщения. Однако, локальные транспорты обычно обрабатывают одновременно лишь один адрес. Таким образом, транспортировка выполняется для каждого адреса, назначенного транспорту. Единовременно доставляется лишь одна копия сообщения.
Эти три локальных транспорта имеют те же самые опции для контроля многочисленных (batched, пакетных) доставок, именуемых batch_max и batch_id. Для сохранения повторения информации для каждого транспорта эти опции описаны тут.
Опция batch_max определяет максимальное число адресов, которые могут быть доставлены вместе, в одном запуске транспорта. Её значение по умолчанию единица (нет пакетной передачи). Когда более одного адреса роутится на транспорт, имеющий значение batch_max больше единицы, адреса доставляются пакетно (то есть, в одном запуске транспорта с многочисленными получателями), подчиняясь определённым условиям:
В случае транспортов appendfile и pipe пакетная передача применяется к ним обоим, когда файл или же команда канала (pipe command) задана в транспорте, и когда это определено роутером redirect, но, разумеется, все пакетные адреса должны быть направлены в один и тот же файл или команду канала. Эти два транспорта имеют опцию называемую use_bsmtp, заставляющую их доставлять сообщение в формате пакетного SMTP с конвертом, представленным в команде SMTP. Опции check_string и escape_string приводятся к значениям:
check_string = "." escape_string = ".." |
Общая опция envelope_to_add установлена для пакетного транспорта, заголовок Envelope-to:, добавляющийся к сообщению, содержит все адреса, которые обрабатываются вместе. Если Вы используете пакетный транспорт appendfile без use_bsmtp, единственный способ сохранить адрес получателя, установить опцию envelope_to_add.
Если Вы используете транспорт pipe без BSMTP и устанавливаете транспортную опцию command, Вы должны включить $pipe_addresses как часть команды. Это не истинная переменная, это немного шаманства, позволяющего подставить адреса получателей как раздельные аргументы. Этим предоставляется способ обратиться ко всем адресам, доставляемым в пакете. Отметьте: это невозможно для команды канала, заданной путём роутера redirect.