Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> документация —> EXIM —> 4.62 —> часть 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 дано в разделе 44.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





  •  

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0309 секунд
    Из них PHP: 20%; SQL: 80%; Число SQL-запросов: 56 шт.
    Исходный размер: 15372; Сжатая: 4841