|
www.lissyara.su
—> документация
—> EXIM
—> 4.70
—> часть 25
25. Группировка адресов в локальных транспортах
Обычно, лишь удалённый транспорт ( “smtp ”) сконфигурирован для обработки более одного адреса за раз, таким образом, чтобы когда несколько адресов роутятся к одному хосту, посылалась лишь одна копия сообщения. Однако, локальные транспорты, обычно, обрабатывают одновременно лишь один адрес. Таким образом, транспортировка выполняется для каждого адреса, направленного транспорту. Единовременно доставляется лишь одна копия сообщения.
В транспорте “appendfile ”, когда сообщение сохраняется в файл для дальнейшей доставки какими-то другими средствами, сохраняется одна копия сообщения с несколькими адресатами, для экономии места.
В транспорте “lmtp ”, при доставке через “локальный SMTP ” другим процессам, сохраняется время, путём доставки одной копии сообщения, и это обычно ожидаемый способ работы LMTP.
В транспорте “pipe ”, при передаче сообщения сканирущей программе, или иному доставляющему механизму, типа UUCP, могут быть приемлимы несколько получателей.
Эти три локальных транспорта имеют те же самые опции для контроля многочисленных ( “batched ” - пакетных) доставок, именуемых “batch_max ” и “batch_id ”. Для сохранения повторения информации для каждого транспорта, эти опции описаны тут.
Опция “batch_max ” определяет максимальное число адресов, которые могут быть доставлены вместе, в одном запуске транспорта. Её дефолтовое значение - единица (нет пакетной передачи). Когда более одного адреса роутится на транспорт, имеющий значение “batch_max ” больше единицы, адреса доставляются пакетно (т.е. в одном запуске транспорта, с многочисленными получателями), подчиняясь определённым условиям:
Если любая опция транспорта содержит ссылку на “$local_part ” - пакетная передача невозможна.
Если любая опция транспорта содержит ссылку на “$domain ”, передаются пакетно лишь те адреса, у которых одинаковый домен.
Если “batch_id ” установлена, она раскрывается для каждого адреса, и передаются пакетно лишь те адреса, у которых, в результате раскрытия, одинаковое значение. Это позволяет задавать ручные настройки пакетной передачи. Ошибка раскрытия, в любом случае, включая принудительную неудачу, отключает пакетную передачу, но не останавливает доставку.
Пакетные адреса также должны иметь одинаковый обратный адрес (для возврата ошибок доставки), одинаквые добавления и удаления заголовков, одного и того же пользователя и группу для транспорта, и если представлен список хостов, первый хост должен быть тем самым хостом.
В случае транспортов “appendfile ” и “pipe ”, пакетная передача применяется к ним обоим, когда файл или команда трубы (pipe command) задана в транспорте, и когда это определено роутером “redirect ”, но, разумеется, все пакетные адреса должны быть направлены в один и тот же файл или команду трубы. Эти два транспорта имеют опцию называемую “use_bsmtp ”, заставляющую их доставлять сообщение в формате “пакетного SMTP ”, с конвертом представленным в команде SMTP. Опции “check_string ” и “escape_string ” приводятся к значениям
check_string = "."
escape_string = ".."
| когда используется пакетная SMTP-передача. Полное описание механизма пакетного SMTP дано в разделе 45.10. Транспорт “lmtp ” не имеет опции “use_bsmtp ”, поскольку он всегда доставляет используя SMTP-протокол.
Общая опция “envelope_to_add ” установлена для пакетного транспорта, заголовок “Envelope-to: ”, добавляющийся к сообщению, содержит все адреса, которые обрабатываются вместе. Если вы используете пакетный транспорт “appendfile ” без “use_bsmtp ”, единственный способ сохранить адрес получателя - установить опцию “envelope_to_add ”.
Если вы используете транспорт “pipe ” без BSMTP, и устанавливаете транспортную опцию “command ”, вы должны включить “$pipe_addresses ” как часть команды. Это не истинная переменная, это немного шаманства, позволяющего подставить адреса получателей как раздельные аргументы. Этим предоставляется способ обратиться ко всем адресам, доставляемым в пакете. Отметьте: Это невозможно для команды трубы, заданной путём роутера “redirect ”.
=============
translated by lissyara
verifying by Gerk
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|